Python

Ako používať PyQt QTableWidget

Ako používať PyQt QTableWidget
Tabuľka sa používa na zobrazenie údajov v štruktúrovanom formáte podľa riadkov a stĺpcov. The QTableWidget triedy PyQt možno v Pythone použiť na zobrazenie údajov v tabuľkovej forme pre úlohy spojené s výskumom alebo analýzou údajov. Obsah tabuľky je možné generovať z rôznych typov ukladacích priestorov, ako sú dvojrozmerné zoznamy alebo tabuľky, databázové tabuľky, súbory JSON atď.  Jeden alebo viac tabuliek je možné vytvoriť pomocou QTableWidget v aplikácii PyQt. Tento návod ukazuje, ako sa používa QTableWidget vytvárať rôzne typy tabuliek pomocou skriptu Python.

Nevyhnutné metódy

The QTableWidget trieda obsahuje mnoho metód na vykonávanie úloh súvisiacich s vytváraním tabuliek. Niektoré z bežne používaných metód tejto triedy sú vysvetlené nižšie:

Názov metódy Účel
setRowCount () Používa sa na definovanie počtu riadkov.
setColumnCount () Používa sa na definovanie počtu stĺpcov.
setHorizontalHeaderLabels () Používa sa na nastavenie štítkov hlavičiek tabuľky.
setItem () Používa sa na nastavenie hodnoty bunky tabuľky.
resizeColumnsToContents () Používa sa na zmenu veľkosti stĺpcov tabuľky na základe obsahu.
resizeRowsToContents () Používa sa na zmenu veľkosti riadkov tabuľky na základe obsahu.
setMinimumWidth () Slúži na nastavenie minimálnej šírky tabuľky.
setMinimumHeight () Slúži na nastavenie minimálnej výšky stola.
šou() Slúži na zobrazenie tabuľky.

Používanie QTableWidget

Nasledujúce časti poskytujú jednoduché príklady na vysvetlenie spôsobu vytvorenia tabuľky v aplikácii PyQt pomocou statických údajov a údajov zo zoznamu.

Príklad 1: Vytvorenie jednoduchej tabuľky pomocou statických údajov

Nasledujúci skript vytvorí tabuľku statických údajov s piatimi riadkami a štyrmi stĺpcami pomocou znaku QTableWidget trieda. Dva pre v skripte boli použité slučky s hodnotami rozsahu na pridanie statických údajov do buniek tabuľky. Pozície riadkov a stĺpcov každej bunky boli pridané ako obsah každej bunky. The QDesktopWidget sa v skripte používa na zobrazenie okna s tabuľkou v strede obrazovky.

# Importujte potrebné knižnice
import sys
z PyQt5.QtWidgets importujú QApplication, QMainWindow, QTableWidget, QTableWidgetItem, QDesktopWidget
z PyQt5.QtCore import QSize
# Definujte triedu na vytvorenie tabuľky so statickými údajmi
trieda SimpleTable (QMainWindow):
def __init __ (self):
# Zavolajte nadradenému konštruktorovi
Super().__init __ ()
# Nastavte veľkosť a názov okna
ja.setMinimumSize (QSize (420, 150))
ja.setWindowTitle ("Jednoduchá tabuľka so statickými údajmi")
# Vytvorte tabuľku s potrebnými vlastnosťami
tabuľka = QTableWidget (self)
stôl.setColumnCount (4)
stôl.setRowCount (5)
stôl.setMinimumWidth (500)
stôl.setMinimumHeight (500)
# Nastavte hlavičky tabuľky
stôl.setHorizontalHeaderLabels (["Header-1", "Header-2", "Header-3", "Header-4"])
# Nastavte hodnoty tabuľky
pre i v rozsahu (5):
pre j v rozsahu (4):
stôl.setItem (i, j, QTableWidgetItem ("Row-" + str (i + 1) + ", Col-" + str (j + 1)))
# Zmena veľkosti riadkov a stĺpcov na základe obsahu
stôl.resizeColumnsToContents ()
stôl.resizeRowsToContents ()
# Zobrazte tabuľku
stôl.šou()
# Zobrazte okno v strede obrazovky
vyhrať = ja.frameGeometry ()
pos = QDesktopWidget ().availableGeometry ().stred ()
vyhrať.moveCenter (poz)
ja.pohnúť sa (vyhrať.hore v ľavo())
ja.šou()
# Vytvorte objekt aplikácie a spustite ju
app = QApplication (sys.argv)
mw = SimpleTable ()
mw.šou()
aplikácia.exec ()

Nasledujúce okno s tabuľkou sa objaví vyššie vykonaný skript. Podľa hodnôt pre slučky, hodnota bunky prvého riadku a prvého stĺpca je „Riadok 1, stĺpec 1,„a hodnota bunky v poslednom riadku a poslednom stĺpci je“Riadok 5, stĺpec 4.

Príklad 2: Vytvorenie tabuľky pomocou tipu pomocou slovníka a údajov zoznamu

Nasledujúci skript vytvorí tabuľku s obsahom slovníka Python a zoznam pomocou QTableWidget trieda. Skript tiež pridá text s tipom na nástroj k hlavičke tabuľky. Pytónsky slovník s názvom známok je deklarovaný aj v scenári. Kódy kurzov sa používajú ako kľúčové hodnoty slovníka. Zoznam Python je deklarovaný na definovanie ID študentov. Kľúčové hodnoty slovníka sa pridajú do hlavičky tabuľky, hodnoty zoznamu sa pridajú do prvého stĺpca tabuľky a hodnoty slovníka sa pridajú do ostatných stĺpcov tabuľky.

# Importujte potrebné moduly
import sys
z PyQt5.QtWidgets importujú QApplication, QTableWidget, QTableWidgetItem, QDesktopWidget
# Deklarujte slovníkovú premennú so značkami
známky = '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]
trieda TableFromList (QTableWidget):
def __init __ (self, data, * args):
# Zavolajte nadradeného konštruktéra
QTableWidget.__init __ (self, * args)
# Deklarujte zoznam IDS študentov
ja.ID_list = ['0189945', '0154590', '0196734', '0185611', '0178956']
# Nastavte potrebné konfigurácie tabuľky
ja.data = data
ja.resizeColumnsToContents ()
ja.resizeRowsToContents ()
ja.setColumnWidth (0, 100)
pre i v rozsahu (4):
ja.setColumnWidth (i, 80)
ja.setMinimumWidth (400)
ja.setWindowTitle ("Označiť list")
# Deklarujte premennú, aby ste nastavili obsah hlavičky
hlavičky = []
hlavičky.pridať (")
# pre slučku na čítanie klávesov slovníka
pre n zadajte počet (zoradené (vlastné.údaje.klávesy ())):
hlavičky.pripojiť (kľúč)
# for loop na načítanie hodnôt slovníka
pre m položka v enumerate (self.údaje [kľúč]):
ID = QTableWidgetItem (vlastné.ID_list [m])
ja.setItem (m, 0, ID)
newVal = QTableWidgetItem (str (položka))
ja.setItem (m, n + 1, newVal)
# Nastavte štítok hlavičky tabuľky
ja.setHorizontalHeaderLabels (hlavičky)
# Nastavte popisy k hlavičkám
ja.horizontalHeaderItem (1).setToolTip ("Multimédiá")
ja.horizontalHeaderItem (2).setToolTip ("Umelá inteligencia")
ja.horizontalHeaderItem (3).setToolTip ("Pokročilá databáza")
ja.horizontalHeaderItem (4).setToolTip ("Unixové programovanie")
# Prečítajte si konkrétnu hodnotu bunky
ja.klikli.spojiť (seba.po kliknutí)
# Zobrazte okno v strede obrazovky
vyhrať = ja.frameGeometry ()
pos = QDesktopWidget ().availableGeometry ().stred ()
vyhrať.moveCenter (poz)
ja.pohnúť sa (vyhrať.hore v ľavo())
ja.šou()
def on_click (self):
samostatne pre ItemVal.selectedItems ():
# Prečítajte si hodnotu hlavičky na základe vybranej bunky
subjekt = ja.horizontalHeaderItem (ItemVal.stĺpec ()).text ()
# Vytlačte podrobné informácie o značke
print ("\ n", vlastné.ID_list [ItemVal.riadok ()], "dostal", ItemVal.text (), „in“, predmet)
# Vytvorte objekt aplikácie a spustite ju
app = QApplication (sys.argv)
table = TableFromList (známky, 5, 5)
stôl.šou()
aplikácia.exec ()

Po vykonaní vyššie uvedeného skriptu sa zobrazí nasledujúce okno s tabuľkou.

Záver

Tento výukový program vám ukázal, ako pomocou dvoch príkladov vytvoriť tabuľky s pevnými údajmi, údajmi zo slovníka a zoznamom údajov. Tabuľky je možné vytvárať aj s dynamickými údajmi pomocou databázových tabuliek alebo iných zdrojov údajov.

Ako zmeniť smer posúvania myši a touchpadu v systéme Windows 10
Myš a TouchpadNielenže uľahčujú výpočty, ale sú aj efektívnejšie a menej časovo náročné. Nemôžeme si predstaviť život bez týchto zariadení, ale je pra...
Ako zmeniť veľkosť, farbu a schému ukazovateľa myši a kurzora v systéme Windows 10
Ukazovateľ myši a kurzor vo Windows 10 sú veľmi dôležité aspekty operačného systému. Dá sa to povedať aj pre iné operačné systémy, takže v skutočnosti...
Hry Zadarmo a open source herné motory pre vývoj hier pre Linux
Zadarmo a open source herné motory pre vývoj hier pre Linux
Tento článok sa bude zaoberať zoznamom bezplatných a otvorených herných nástrojov, ktoré možno použiť na vývoj 2D a 3D hier v systéme Linux. Existuje ...