Jak używać pyqt qtableWidget

Jak używać pyqt qtableWidget
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.