Tabela służy do wyświetlania danych w formacie ustrukturyzowanym, zgodnie z wierszami i kolumnami.
QTableWidget Klasa PYQT może być używana w Pythonie do wyświetlania danych w formie tabelarycznej dla zadań związanych z analizą badań lub danych. Treść tabeli można generować z różnych rodzajów pamięci, takich jak listy dwuwymiarowe lub tabele, tabele bazy danych, pliki JSON itp. Można utworzyć jedną lub więcej tabel za pomocą
QTableWidget W aplikacji PYQT. Ten samouczek pokazuje, jak używać
QTableWidget Aby stworzyć różne typy tabel za pomocą skryptu Python.
Niezbędne metody
QTableWidget Klasa zawiera wiele metod wykonywania zadań związanych z tworzeniem tabeli. Niektóre z najczęściej stosowanych metod tej klasy wyjaśniono poniżej:
Nazwa metody | Zamiar |
setRowCount () | Służy do zdefiniowania liczby wierszy. |
setColumnCount () | Używane do zdefiniowania liczby kolumn. |
Sethorizontalheaderlabels () | Służy do ustawienia etykiet nagłówka stołu. |
setItem () | Służy do ustawienia wartości komórki tabeli. |
resizeColumnStocontents () | Służy do zmiany rozmiaru kolumn tabeli na podstawie treści. |
RESIZEROWSTOCONTENTS () | Służy do zmiany rozmiaru wierszy tabeli na podstawie treści. |
setMinimumWidth () | Służy do ustawienia minimalnej szerokości tabeli. |
setMinimumHeight () | Służy do ustawienia minimalnej wysokości stołu. |
pokazywać() | Używane do wyświetlania tabeli. |
QTableWidget Użycie
Poniższe sekcje zawierają proste przykłady wyjaśniające, jak utworzyć tabelę w aplikacji PYQT za pomocą danych statycznych i wymienienia danych.
Przykład 1: Utwórz prostą tabelę przy użyciu danych statycznych
Poniższy skrypt tworzy tabelę danych statycznych z pięcioma wierszami i czterema kolumnami za pomocą QTableWidget klasa. Dwa Do W skrypcie zastosowano pętle o wartości zakresu, aby dodać dane statyczne do komórek tabeli. Pozycje wiersza i kolumny każdej komórki zostały dodane jako zawartość każdej komórki. QDesktopWidget jest używany w skrypcie do wyświetlania okna ze stołem na środku ekranu.
# Importuj niezbędne biblioteki
Import Sys
z pyqt5.QTWidgets Import Qapplication, QMainWindow, QTableWidget, QTableWidgetItem, QDesktopWidget
z pyqt5.Qtcore import qSize
# Zdefiniuj klasę, aby utworzyć tabelę z danymi statycznymi
klasa prosta (QMainWindow):
def __init __ (ja):
# Zadzwoń do konstruktora nadrzędnego
Super().__w tym__()
# Ustaw rozmiar i tytuł okna
samego siebie.setMinimumsize (qSize (420, 150))
samego siebie.setWindowTitle („Prosta tabela z danymi statycznymi”)
# Utwórz tabelę z niezbędnymi właściwościami
Tabela = qTableWidget (self)
tabela.setColumnCount (4)
tabela.setRowCount (5)
tabela.SetMinimumMWidth (500)
tabela.setMinimumheight (500)
# Ustaw nagłówki stołu
tabela.Sethorizontalheaderlabels ([„Header-1”, „Header-2”, „Header-3”, „Header-4”])
# Ustaw wartości tabeli
Dla i w zakresie (5):
dla J z zakresu (4):
tabela.setItem (i, j, qTableWidgetItem („row-” + str (i + 1) + ”, col-„ + str (j + 1))))))
# Zmiana zmiany wierszy i kolumn na podstawie treści
tabela.resizeColumnStocontents ()
tabela.RESIZEROWSTOCONTENTS ()
# Wyświetl tabelę
tabela.pokazywać()
# Wyświetl okno na środku ekranu
Win = self.framegeometria ()
POS = qDesktopWidget ().Dostępna geometria ().Centrum()
wygrać.MoveCenter (POS)
samego siebie.Przenieś (wygrana.lewy górny())
samego siebie.pokazywać()
# Utwórz obiekt aplikacji i wykonaj aplikację
app = qapplication (sys.Argv)
MW = ProsteTable ()
MW.pokazywać()
App.exec ()
Pojawi się następujące okno z tabelą, zostanie wykonany powyższy skrypt. Zgodnie z wartościami Do pętle, wartość komórkowa pierwszego rzędu i pierwsza kolumna to 'Row-1, Col-1,„A wartość komórkowa ostatniego rzędu i ostatniej kolumny to”Row-5, Col-4.'
Przykład 2: Utwórz tabelę z TIP narzędzi za pomocą Dictionary i list danych
Poniższy skrypt tworzy tabelę z zawartością słownika i listy Python za pomocą QTableWidget klasa. Skrypt dodaje również tekst narzędzi do nagłówka tabeli. Nazwany słownik Python znaki jest również zadeklarowane w skrypcie. Kody kursu są używane jako kluczowe wartości słownika. Lista Python jest zadeklarowana w celu zdefiniowania identyfikatorów studentów. Kluczowe wartości słownika są dodawane do nagłówka tabeli, wartości listy są dodawane do pierwszej kolumny tabeli, a wartości słownika są dodawane do innych kolumn tabeli.
# Zaimportuj niezbędne moduły
Import Sys
z pyqt5.QTWidgets Import Qapplication, QTableWidget, QTableWidgetItem, QDesktopWidget
# Deklaruj zmienną słownika z znakami
Marks = 'CSE-401': [78, 93, 67, 88, 78],
„CSE-404”: [90, 59, 82, 73, 89],
„CSE-406”: [81, 80, 74, 83, 67],
„CSE-407”: [81, 80, 98, 83, 72]
klasowa lista stołowa (qtableWidget):
def __init __ (self, dane, *args):
# Zadzwoń do konstruktora nadrzędnego
QTableWidget.__init __ (self, *args)
# Deklaruj listę identyfikatorów studentów
samego siebie.Id_list = ['0189945', '0154590', '0196734', '0185611', '0178956']
# Ustaw niezbędne konfiguracje FOT tabela
samego siebie.dane = dane
samego siebie.resizeColumnStocontents ()
samego siebie.RESIZEROWSTOCONTENTS ()
samego siebie.setColumnWidth (0, 100)
bo w zakresie (4):
samego siebie.setColumnWidth (I, 80)
samego siebie.SetMinimumMWidth (400)
samego siebie.setWindowTitle („Mark arkusz”)
# Deklaruj zmienną, aby ustawić zawartość nagłówka
nagłówki = []
nagłówki.dodać(")
# Pętla, aby przeczytać klucze słownika
dla N, klucz do wyliczenia (sortowany (jaźń.dane.Klucze())):
nagłówki.Dodatek (klucz)
# w celu odczytania wartości słownika
Dla M, element wymieniony (jaźń.dane [klucz]):
Id = qTableWidgetItem (self.Id_list [m])
samego siebie.setitem (m, 0, id)
newVal = qTableWidgetItem (str (item))
samego siebie.setItem (m, n+1, newval)
# Ustaw etykietę nagłówka stołu
samego siebie.SethorizontalheaderLabels (nagłówki)
# Ustaw podpowiedzi dla nagłówków
samego siebie.horyzontalheaderitem (1).settooltip („multimedia”)
samego siebie.horyzontalheaderitem (2).settooltip („sztuczny inteligentny”)
samego siebie.horyzontalheaderitem (3).settooltip („Zaawansowana baza danych”)
samego siebie.horyzontalheaderitem (4).settooltip („programowanie unix”)
# Przeczytaj konkretną wartość komórki
samego siebie.kliknięte.Połącz (ja.na kliknięcie)
# Wyświetl okno na środku ekranu
Win = self.framegeometria ()
POS = qDesktopWidget ().Dostępna geometria ().Centrum()
wygrać.MoveCenter (POS)
samego siebie.Przenieś (wygrana.lewy górny())
samego siebie.pokazywać()
def on_click (self):
dla ItemVal w sobie.wybrane przedmioty():
# Przeczytaj wartość nagłówka na podstawie wybranej komórki
Temat = Self.HorizontalheaderItem (Itemval.kolumna()).tekst()
# Wydrukuj szczegółowe informacje o znaku
Drukuj („\ n”, jaźń.Id_list [itemVal.row ()], „GOT”, ItemVal.text (), „in”, temat)
# Utwórz obiekt aplikacji i wykonaj aplikację
app = qapplication (sys.Argv)
Tabela = tablefromlist (znaki, 5, 5)
tabela.pokazywać()
App.exec ()
Poniższe okno z tabelą pojawi się po wykonaniu powyższego skryptu.
Wniosek
Ten samouczek pokazał, jak tworzyć tabele z ustalonymi danymi, danymi słownikowymi i wymieniami danych za pomocą dwóch przykładów. Tabele można również tworzyć za pomocą danych dynamicznych przy użyciu tabel bazy danych lub innych źródeł danych.