PyQt5 õpetus koos näidetega: GUI kujundamine PyQti abil Python
Mis on PyQt?
PyQt on avatud lähtekoodiga vidinatööriista Qt pythoni sidumine, mis toimib ka platvormideülese rakenduste arendusraamistikuna. Qt on populaarne C++ raamistik GUI-rakenduste kirjutamiseks kõigile suurematele töölaua-, mobiili- ja manustatud platvormidele (toetab Linuxi, Windows, MacOS, Android, iOS, Raspberry Pi ja palju muud).
PyQt on tasuta tarkvara, mille on välja töötanud ja hooldanud Inglismaal asuv ettevõte Riverbank Computing, Qt aga Soome firma The Qt Company.
PyQT omadused
Siin on PyQti olulised funktsioonid:
Õppige PyQti, mis koosneb enam kui kuuesajast klassist, mis hõlmavad mitmesuguseid funktsioone, nagu
- Graafilised kasutajaliidesed
- SQL andmebaasid
- Veebi tööriistakomplektid
- XML-i töötlemine
- Networking
Neid funktsioone saab kombineerida nii täiustatud kasutajaliidese kui ka eraldiseisvate rakenduste loomiseks. Paljud suuremad ettevõtted kõigis tööstusharudes kasutavad Qt. Mõned näited on LG, Mercedes, AMD, Panasonic, Harman jne.
PyQt versioonid
PyQt on saadaval kahes väljaandes, PyQt4 ja PyQt5. PyQt4 pakub liimikoodi Qt-raamistiku 4.x ja 5.x versioonide sidumiseks, samas kui PyQt5 pakub sidumist ainult 5.x versioonide jaoks. Seetõttu ei ühildu PyQt5 vanema versiooni aegunud moodulitega. Selles Qt GUI õpetuses kasutatakse PyQt5 näidete demonstreerimiseks. Peale nende kahe versiooni
Riverbank Computing pakub ka PyQt3D-d – Qt3D raamistiku pythoni sidumist. Qt3D on rakendusraamistik, mida kasutatakse 2D/3D-renderdusega reaalajas simulatsioonisüsteemide loomiseks.
Kuidas installida PyQt5
Selles PyQt5 õpetuses näeme PyQti installimiseks kahte võimalust:
- Rattafailide kasutamine
- Ehitamine ja paigaldamine allikast
Qt (hääldatakse armas) on keeruline süsteem ja PyQt koodibaas sisaldab kompileeritud C++ ja Python kood kapoti all. Seetõttu on selle allikast koostamine ja installimine võrreldes teiste pythoni raamatukogudega keeruline protsess. Siiski saate PyQt5 hõlpsalt installida rataste abil.
Paigaldamine ratastega
Rattad on uus standard Python pakendamise ja levitamise formaat. Lihtsamalt öeldes on ratas ZIP-arhiiv, millel on eriline nimi ja .whl faililaiendit. Rattaid saab paigaldada pip (Python'i paketihaldur), mis on vaikimisi lisatud uuematesse versioonidesse Python.
Seega, kui teil on Python 3.4 või uuem installitud, on teil juba pip. Kui aga kasutate vanemat versiooni Python, peate enne jätkamist pip alla laadima ja installima. Selle kohta saate juhiseid otsida sellelt lingilt: https://pypi.org/project/pip/.
PyQt5 installimiseks
Step 1) Avage käsuviip.
Avage oma käsuviip või PowerShell Windows masin.
Step 2) Sisestage järgmine.
pip install PyQt5
Step 3) Installimine õnnestus.
See PyQt5 õpetuse samm laadib alla PyQt5 whl paketi (umbes 50 MB) ja installib selle teie süsteemi.
Teise võimalusena saate alla laadida ka a Windows binaarfail teie arvutisse installitud pythoni versiooni jaoks.
Kui see on lõpetatud, jätkake selle PyQt5 õpetuse järgmise jaotisega, et kirjutada oma esimene GUI-rakendus.
Põhiline PyQt Concepts ja Programmid
Nüüd, kui olete PyQt5 edukalt arvutisse installinud, olete valmis kirjutama Python GUI disainirakendused.
Alustame selle PyQt5 õpetuse lihtsa rakendusega, mis kuvab teie ekraanil tühja akna.
Käivitage oma python IDLE ja sisestage järgmine tekst:
Programm 1
import sys from PyQt5.QtWidgets import QApplication, QWidget if __name__ == "__main__": app = QApplication(sys.argv) w = QWidget() w.resize(300,300) w.setWindowTitle("Guru99") w.show() sys.exit(app.exec_())
Salvestage see kui app.py (nimi ei oma tähtsust) ja vajutage programmi käivitamiseks klahvi F5. Teise võimalusena topeltklõpsake rakenduse käivitamiseks salvestatud failil. Kui olete kõik õigesti teinud, avaneb uus aken pealkirjaga Guru99, nagu allpool näidatud.
Suurepärane! See töötab. Seda pole palju, kuid põhitõdede mõistmiseks piisab. Nüüd selles PyQti õpetuses vaatame üksikasjalikult, mida iga teie programmi rida teeb.
from PyQt5.QtWidgets import QApplication, QWidget
See avaldus impordib praegusesse nimeruumi kõik GUI loomiseks vajalikud moodulid. Moodul QtWidgets sisaldab kõiki peamisi vidinaid, mida te selles kasutate Python Qt õpetus.
app = QApplication(sys.argv)
Siin loote QApplication klassi objekti. See samm on PyQt5 jaoks vajalik; iga kasutajaliidese rakendus peab looma QApplication'i eksemplari, mis on omamoodi sisenemispunkt rakendusse. Kui te seda ei loo, kuvatakse vead.
sys.argv on käsurea parameetrite loend, mille saate rakendusele kesta kaudu käivitamisel või liidese automatiseerimisel edastada.
Selles PyQt5 näites ei edastanud te QApplicationsile ühtegi argumenti. Seetõttu saate selle asendada ka alloleva koodiga ega pea isegi sys-moodulit importima.
app = QApplication([])
w = QWidget()
Järgmisena teeme QWidget klassi objekti. QWidget on kõigi Qt kasutajaliidese objektide baasklass ja peaaegu kõik, mida rakenduses näete, on vidin. See hõlmab dialooge, tekste, nuppe, ribasid ja nii edasi. Funktsioon, mis võimaldab teil luua keerukaid kasutajaliideseid, on see, et vidinaid saab pesastada, st teil võib olla vidina sees, mis on veel ühe vidina sees. Näete seda järgmises jaotises.
w.resize(300,300)
Klassi QWidget suuruse muutmise meetod võimaldab määrata mis tahes vidina mõõtmeid. Sel juhul olete muutnud akna suuruseks 300 × 300 pikslit.
Siin tuleks meeles pidada, et vidinaid saab omavahel pesastada, kõige välimist vidinat (st ilma vanemata vidinat) nimetatakse aknaks.
w.setWindowTitle("Guru99")
Meetod setWindowTitle() võimaldab teil edastada stringi argumendina, mis määrab akna pealkirjaks edastatud stringi. PyQt5 näites kuvatakse tiitliribal Guru99.
w.show()
show() kuvab vidina lihtsalt monitori ekraanil.
sys.exit(app.exec_())
Meetod app.exec_() käivitab Qt/C++ sündmuse silmus. Nagu teate, on PyQt suures osas sisse kirjutatud C++ ja kasutab paralleelkäituse rakendamiseks sündmusteahela mehhanismi. app.exec_() annab juhtimise üle Qt-le, mis väljub rakendusest alles siis, kui kasutaja selle GUI-st sulgeb. Seetõttu ei välju ctrl+c rakendusest nagu teistes pythoni programmides. Kuna Qt kontrollib rakendust, ei töödelda pythoni sündmusi, kui me neid rakenduses ei seadista. Samuti pange tähele, et exec-meetodi nimes on allkriips; Selle põhjuseks on asjaolu, et exec() oli juba pythonis märksõna ja alakriips lahendab nimetamiskonflikti.
Peale tühjade akende
Eelmises jaotises nägite, kuidas teha Qt-s põhividinat. Nüüd on aeg teha mõned rohkem kaasatud liidesed, millega kasutajad saavad tõeliselt suhelda. Jällegi süütage oma IDLE ja kirjutage järgmine.
import sys from PyQt5.QtWidgets import QApplication, QWidget, QLabel, QPushButton, QMessageBox def dialog(): mbox = QMessageBox() mbox.setText("Your allegiance has been noted") mbox.setDetailedText("You are now a disciple and subject of the all-knowing Guru") mbox.setStandardButtons(QMessageBox.Ok | QMessageBox.Cancel) mbox.exec_() if __name__ == "__main__": app = QApplication(sys.argv) w = QWidget() w.resize(300,300) w.setWindowTitle("Guru99") label = QLabel(w) label.setText("Behold the Guru, Guru99") label.move(100,130) label.show() btn = QPushButton(w) btn.setText('Beheld') btn.move(110,150) btn.show() btn.clicked.connect(dialog) w.show() sys.exit(app.exec_())
Salvestage fail nimega appone.py või muu meelepärase nimega ja vajutage programmi käivitamiseks klahvi F5. Kui te pole vigu teinud, IDLE avab uue akna teksti ja nupuga, nagu allpool näidatud.
- Kui klõpsate esimeses aknas nuppu, avaneb uus sõnumikast teie kirjutatud tekstiga.
- Nüüd saate täiendava teksti nähtavuse lülitamiseks klõpsata nupul Peida üksikasjad/Kuva üksikasjad.
Nagu näete, kuna me polnud sõnumikastis ühtegi akna pealkirja määranud, andis vaikepealkirja python ise.
Nüüd, kui see töötab, vaatame lisakoodi, mille lisasite eelmisele PyQt5 näitele.
from PyQt5.QtWidgets import QApplication, QWidget, QLabel, QPushButton, QMessageBox
See impordib veel mõned vidinad, mida olete PyQt5 näidetes kasutanud, nimelt QLabel, QPushButton ja QMessageBox.
def dialog(): mbox = QMessageBox() mbox.setText("Your allegiance has been noted") mbox.setDetailedText("You are now a disciple and subject of the all-knowing Guru") mbox.setStandardButtons(QMessageBox.Ok | QMessageBox.Cancel) mbox.exec_()
Siin olete määratlenud meetodi nimega dialoog, mis loob teatekasti vidina ning määrab nuppudele ja muudele väljadele teksti.
Dialoogimeetodit kutsutakse programmi põhiplokist, kui konkreetses vidinas (antud juhul btn PushButton) nuppu vajutatakse. Sellel nupul käivitatud klõpsamissündmus põhjustab selle funktsiooni käivitamise. Sellist funktsiooni nimetatakse Qt-s pesaks ja selle kohta saate rohkem teada signaale ja slots eelseisvates lõikudes.
if __name__ == "__main__": app = QApplication(sys.argv) w = QWidget() w.resize(300,300) w.setWindowTitle("Guru99")
See on rakenduse põhiosa ja nagu eelmises näites, alustate QApplicationi eksemplari loomisega, millele järgneb lihtne vidin, st QWidgeti eksemplar.
label = QLabel(w) btn = QPushButton(w)
Olete sellesse rakendusse lisanud kaks uut vidinat: QLabel ja QPushButton. QLabelit kasutatakse vidina sees mitteredigeeritava teksti või kohahoidjate printimiseks, samas kui QPushButtonit kasutatakse klõpsatava nupu loomiseks.
Oluline on siinkohal tähele panna, et sildi ja btn-objektide loomisel edastate aknaobjekti (w) QLabeli ja QPushButtoni konstruktoritele. Nii toimib pesastamine PyQt5-s. Teise vidina sees vidina loomiseks edastate lapse konstrueerijale vanemavidina viite.
label.move(100,130) btn.move(110,150)
Move() kasutatakse vidina asukoha määramiseks selle emavidina suhtes. Esimesel juhul nihutatakse silti aknast 100 pikslit vasakult ja 130 pikslit akna ülaosast.
Samamoodi paigutatakse nupp aknast 110 pikslit vasakult ja 150 pikslit akna ülaosast. See näide on toores viis paigutuste saavutamiseks ja seda üldiselt tootmises ei kasutata; see on siia lisatud ainult õppimise eesmärgil. Qt toetab erinevaid paigutusi, mida näete üksikasjalikult selle PyQti õpetuse tulevastes osades.
btn.clicked.connect(dialog)
Lõpuks on see näide Qt signaalidest ja pesadest. GUI-põhistes rakendustes täidetakse funktsioone kasutaja sooritatud toimingute alusel, näiteks elemendi kohal hõljutamine või nupul klõpsamine. Neid toiminguid nimetatakse sündmused. Tuletame meelde, et meetod app.exec_() annab juhtimise üle Qt-le Üritussilmus. Sündmustsükkel on selleks mõeldud: sündmuste kuulamiseks ja vastuseks toimingute tegemiseks.
Iga kord, kui juhtub sündmus, näiteks kui kasutaja klõpsab nuppu, tõstab vastav Qt-vidin a märku. Neid signaale saab ühendada pythoni funktsioonid (nagu selles näites dialoogifunktsioon), nii et funktsioon käivitatakse signaali käivitamisel. Neid funktsioone nimetatakse slots Qt keeles.
Seejärel on sündmuse signaalile vastuseks pesafunktsiooni käivitamise põhisüntaks järgmine
widget.signal.connect(slot)
Mis tähendab, et alati, kui a märku käivitab a vidina, ühendatud ava funktsioon täidetakse. Kokkuvõttes kasutab Qt signaale ja pesasid objektidevaheliseks suhtlemiseks ning komponentide korduvkasutatavuse ja interaktiivsuse hõlbustamiseks.
Nüüd, kui teate, kuidas vidinaid pesastada ja interaktsioone signaalide ja pesade abil rakendada, on siin loend kasulikest vidinatest ja muudest klassidest, mida saate oma PyQti rakendustes kasutada.
Komponendid ja vidinad
PyQtis on GUI-rakenduste loomiseks saadaval suur hulk vidinaid. PyQt5 puhul on aga toimunud klasside ümberjaotamine erinevateks mooduliteks ja litsentside versioonid.
Seetõttu on ülioluline omada PyQt5 struktuurist kõrgetasemelist ülevaadet. Selles jaotises näete, kuidas PyQt5 on sisemiselt korraldatud, ja tutvuge PyQt5 pakutavate erinevate moodulite, teekide ja API klassidega.
PyQt5 kataloogistruktuur
Need on põhimoodulid, mida kasutavad Python's Qt sidumine, täpsemalt PyQt5.
- Qt: see ühendab kõik allpool mainitud klassid/moodulid üheks mooduliks. See suurendab märkimisväärselt rakenduse kasutatavat mälu. Siiski on raamistikku lihtsam hallata, kui importida ainult üks moodul.
- QtCore: sisaldab põhilisi mittegraafilisi klasse, mida kasutavad teised moodulid. See on koht, kus rakendatakse Qt sündmuse tsüklit, signaale ja pesaühenduvust jne.
- QtVidinad: sisaldab enamikku Pyqt5-s saadaolevatest vidinatest.
- QtGui: sisaldab GUI komponente ja laiendab QtCore moodulit.
- QtNetwork: sisaldab klasse, mida kasutatakse võrgu programmeerimise rakendamiseks Qt kaudu. See toetab TCP-servereid, TCP-pesasid, UDP-pesasid, SSL-käsitlust, võrguseansse ja DNS-i otsinguid.
- QtMultimeedia pakub madala tasemega multimeediumifunktsioone.
- QtSql: rakendab SQL-andmebaaside andmebaaside integreerimist. Toetab ODBC-d, MySQL, Oracle, SQLiteja PostgreSQL.
PyQt5 vidinad
Siin on PyQt5 kõige sagedamini kasutatavate vidinate loend
- QLineEdit: see on sisestusväli, mis võimaldab kasutajal sisestada ühe rea teksti.
line = QLineEdit()
- QRadioButton: see on valitava nupuga sisestusväli, mis sarnaneb html-i raadionuppudega.
rad = QRadioButton("button title") rad.setChecked(True) #to select the button by default.
- QComboBox: seda kasutatakse rippmenüü kuvamiseks koos valitavate üksuste loendiga.
drop = QComboBox(w) drop.addItems(["item one", "item two", "item three"])
- QCheckBox: kuvab sildi ees valitava ruudu, mis märgitakse, kui see on valitud, sarnaselt raadionuppudega.
check = QCheckBox("button title")
- QMenuBar: kuvab akna ülaosas horisontaalse menüüriba. Sellele ribale saab lisada ainult QMenu klassi objekte. Need QMenu objektid võivad lisaks sisaldada stringe, QActioni objekte või muid QMenu objekte.
- QToolBar: see on horisontaalne riba või paan, mida saab aknas liigutada. See võib sisaldada nuppe ja muid vidinaid.
- QTab: seda kasutatakse akna sisu jaotamiseks mitmeks leheküljeks, millele pääseb juurde erinevate vidina ülaosas olevate vahekaartide kaudu. See koosneb kahest osast: vahekaardiriba ja vahekaartide leht.
- QScrollBar: seda kasutatakse kerimisribade loomiseks, mis võimaldavad kasutajal aknas üles ja alla kerida. See koosneb teisaldatavast liugurist, liugurrajast ja kahest nupust liuguri üles või alla kerimiseks.
scroll = QScrollBar()
- QSplitter: jagajaid kasutatakse akna sisu eraldamiseks, et vidinad oleksid õigesti rühmitatud ega paistaks segaduses. QSplitter on üks peamisi PyQt5-s saadaolevaid paigutustöötlejaid ja seda kasutatakse sisu jagamiseks nii horisontaalselt kui ka vertikaalselt.
- QDock: dokividin on kahe atribuudiga alamaken.
- Seda saab liigutada peaaknas ja
- Selle saab dokkida väljaspool emaakent mõnda teise kohta ekraanil.
Paigutused ja teemad
Eelmistes PyQt5 näidetes kasutasite oma GUI-s vidinate asukoha määramiseks ainult meetodeid move() ja resize().
Siiski on PyQtil tugev paigutushaldusmootor, mida saab kasutada rakenduste täiustatud kasutajaliideste loomiseks. Sellest jaotisest saate teada kahe olulise klassi kohta, mida Qt-s paigutuste loomiseks ja haldamiseks kasutatakse.
- QBoxLayout
- QGridLayout
QBoxLayout
QBoxPaigutust kasutatakse paigutuse alamvidinate joondamiseks horisontaalses või vertikaalses reas. Kaks huvipakkuvat klassi, mis pärinevad Q-ltBoxPaigutus on:
- QHBoxPaigutus: kasutatakse alamvidinate horisontaalseks joondamiseks.
- QVBoxPaigutus: kasutatakse alamvidinate vertikaalseks joondamiseks.
Näiteks nii on kolm nuppu QH-ga joondatudBoxPaigutus näeb välja.
import sys from PyQt5.QtWidgets import * if __name__ == "__main__": app = QApplication([]) w = QWidget() w.setWindowTitle("Musketeers") btn1 = QPushButton("Athos") btn2 = QPushButton("Porthos") btn3 = QPushButton("Aramis") hbox = QHBoxLayout(w) hbox.addWidget(btn1) hbox.addWidget(btn2) hbox.addWidget(btn3) w.show() sys.exit(app.exec_())
Ja sellised näevad nad QV-s väljaBoxPaigutus.
import sys from PyQt5.QtWidgets import * if __name__ == "__main__": app = QApplication([]) w = QWidget() w.setWindowTitle("Musketeers") btn1 = QPushButton("Athos") btn2 = QPushButton("Porthos") btn3 = QPushButton("Aramis") vb = QVBoxLayout(w) vb.addWidget(btn1) vb.addWidget(btn2) vb.addWidget(btn3) w.show() sys.exit(app.exec_())
Ainus funktsioon, mis vajab sel hetkel selgitust, on meetod addWidget(). Seda kasutatakse vidinate sisestamiseks H-iBox või VBox paigutus. Seda kasutatakse ka muudes paigutustes, kus see võtab erineva arvu parameetreid, nagu näete järgmises jaotises. Vidinad kuvatakse paigutuse sees nende sisestamise järjekorras.
QGridLayout
QGridLayouti kasutatakse liideste loomiseks, milles vidinad on paigutatud ruudustiku kujul (nagu maatriks või 2D massiiv). Elementide sisestamiseks ruudustiku paigutusse saate maatriksesitluse abil määrata ridade ja veergude arvu ruudustikus ning nende elementide asukoha.
Näiteks 3*3 ruudustiku (st kolme rea ja kolme veeruga ruudustiku) loomiseks kirjutage järgmine kood:
Import sys from PyQt5.QtWidgets import * if __name__ == "__main__": app = QApplication([]) w = QWidget() grid = QGridLayout(w) for i in range(3): for j in range(3): grid.addWidget(QPushButton("Button"),i,j) w.show() sys.exit(app.exec_())
Sellest saab väljund:
Meetod addWidget() kasutab ruudustiku paigutuses järgmisi argumente:
- Vidina objekt, mille soovite ruudustikule lisada
- Objekti x-koordinaat
- Objekti y-koordinaat
- Reavahemik (vaikeväärtus =0)
- Col-span (vaikimisi = 0)
Selle paremaks mõistmiseks saate iga vidina käsitsi sisestada, nagu allpool näidatud
import sys from PyQt5.QtWidgets import * if __name__ == "__main__": app = QApplication([]) w = QWidget() grid = QGridLayout(w) grid.addWidget(QPushButton("Button one"),0,0) grid.addWidget(QPushButton("Button two"),0,1) grid.addWidget(QPushButton("Button three"),1,0) grid.addWidget(QPushButton("Button four"),1,1) w.show() sys.exit(app.exec_())
Võrk näeb välja selline:
Rohkem kui ühe rea või veeru katmiseks saate anda addWidget()-le ka reavahemiku ja veeru parameetrid.
Näiteks
grid.addWidget(QPushButton("Button five"),2,0,1,0)
See loob nupu, mis ulatub üle mõlema veeru.
Teemad
PyQt5-ga on kaasas mõned sisseehitatud teemad, mida saate oma rakendustes kasutada. The setStyle() QApplication eksemplari kutsutud meetodit kasutatakse teie rakendusele konkreetse teema määramiseks.
Näiteks järgmise koodirea lisamine muudab teie rakenduse teema vaiketeema asemel Fusion
app.setStyle("Fusion")
Selline näeb eelmine näide Fusion Theme'is välja
Teine kasulik funktsioon rakenduste teemastamiseks on meetod setPalette(). Siin on kood erinevate vidinate värvi muutmiseks, kasutades setPalette().
import sys from PyQt5.QtCore import Qt from PyQt5.QtWidgets import * from PyQt5.QtGui import QPalette if __name__ == "__main__": app = QApplication([]) app.setStyle("Fusion") qp = QPalette() qp.setColor(QPalette.ButtonText, Qt.black) qp.setColor(QPalette.Window, Qt.black) qp.setColor(QPalette.Button, Qt.gray) app.setPalette(qp) w = QWidget() grid = QGridLayout(w) grid.addWidget(QPushButton("Button one"),0,0) grid.addWidget(QPushButton("Button two"),0,1) grid.addWidget(QPushButton("Button three"),1,0) grid.addWidget(QPushButton("Button four"),1,1) w.show() sys.exit(app.exec_())
Siin on tulemus.
SetPalette() meetodi kasutamiseks peate esmalt defineerima palett. Seda tehakse QPalette klassi objekti loomisega.
qp = QPalette()
Pange tähele, et QPalette klass kuulub QtGui moodulisse ja selle toimimiseks peate selle importima. Kui olete QPalette objekti loonud, kasutage meetodit setColor(), et edastada vidina nimi, mille värvi soovite muuta, ja värv, mida soovite määrata.
qp.setColor(QPalette.Window, Qt.black)
See muudab akna värvi mustaks. Pärast värviskeemi määratlemist kasutage paleti rakendamiseks oma rakendusele funktsiooni setPalette().
app.setPalette(qp)
See on kõik, mida peate tegema, kui soovite oma rakenduse jaoks luua mõned põhiteemad. PyQt võimaldab teil kasutada ka stiilitabeleid, et määratleda oma vidinate välimus. Kui olete CSS-iga tuttav, saate Qt stiilitabelite abil hõlpsasti oma rakenduse jaoks täpsemaid stiile määratleda.
kokkuvõte
- PyQt on pythoni sidumine C++ UI raamistik, Qt.
- PyQt4 ja PyQt5 on kaks peamist versiooni, mille on välja töötanud Riverbank Computing.
- PyQt raamistiku peamised moodulid on:
- Qt
- QtCore
- QtVidinad
- QtGui
- QtSql
- QtNetwork
- PyQt toetab mitmesuguseid vidinaid, näiteks:
- nupud
- Tekstisildid
- Tekstiväljad
- Raadionupud ja märkeruudud
- Tööriistaribad ja menüüribad
- Veebikomplekt
- Tabs
- Dokid
- PyQtis rakendatakse interaktiivsust kasutades signaale ja pilud.
- An sündmus on kasutaja poolt GUI-s tehtud toiming (nagu nupu klõpsamine).
- A märku tõstatab vastav vidin, kui sellel sündmus toimub.
- A ava on funktsioon, mis on signaaliga ühendatud ja käivitatakse signaali tõstmisel.
- PyQtil on tugev paigutusmootor ning see toetab täiustatud paigutuse kujundamist ja haldamist. Need on kaks PyQtis sageli kasutatavat paigutusskeemi:
- Box Layout
- Grid paigutus
- PyQt disainer võimaldab teil luua GUI-rakenduse jaoks kohandatud teemasid ja sellel on stiililehtede sisseehitatud tugi.
- qtcreator Python saab kasutada nii kasutajaliideste kui ka eraldiseisvate rakenduste loomiseks.