Python

Kako uporabljati PyQt GUI Builder

Kako uporabljati PyQt GUI Builder

PyQt je priljubljena knjižnica Python, ki se uporablja za lažje izvajanje grafičnih aplikacij v Pythonu. Ta knjižnica je opremljena z orodjem za ustvarjanje grafičnega uporabniškega vmesnika (GUI) Qt Designer. GUI je mogoče v Pythonu hitro zgraditi s funkcijo povleci in spusti v tej knjižnici, čeprav to orodje nima možnosti za odpravljanje napak, kot je standardni IDE. Ta vadnica vam prikazuje, kako implementirati GUI z uporabo razreda Qt Designer PyQt.

Pogoji

Pred izvajanjem primerov v tej vadnici morate namestiti orodje Qt Designer. Zaženite naslednje ukaze, da namestite Qt Designer v vašem sistemu:

$ sudo apt-get install qttools5-dev-tools
$ sudo apt-get install qttools5-dev

Odprite Qt Designer

Zaženite naslednji ukaz, če želite trenutno lokacijo imenika spremeniti v Qt Designer mapo.

$ cd / usr / lib / x86_64-linux-gnu / qt5 / bin /

Zaženite naslednji ukaz, da odprete aplikacijo Qt Designer.

$ ./ oblikovalec

Če je Qt Designer je pravilno nameščen, se prikaže naslednje okno. The Pripomoček Na levi strani glavnega okna je prikazano veliko pripomočkov, s katerimi lahko oblikujete uporabniški vmesnik aplikacije. The Nov obrazec window se uporablja za ustvarjanje novega okna z uporabo privzetih gumbov. Okna, prikazana na desni strani glavnega okna, vsebujejo informacije o pripomočkih, ki jih je mogoče brati ali spreminjati.

Ustvarite prvi obrazec s pomočjo Qt Designerja

Za začetek oblikovanja vmesnika za aplikacijo Python kliknemo Ustvari v naslednjem oknu, da odprete pogovorno okno z dvema privzetima gumboma.

Nato bomo oblikovali prijavni obrazec z uporabo Pripomočki za oznake, urejanje besedila in gumbe. Pogovorno okno bo shranjeno z imenom Prijava.ui, ki bo uporabljen kasneje v skriptu Python. The QObject ime bo spremenjeno v Dialog za prijavo uporabljati Okno urejevalnika lastnosti te vloge.

Uporaba pogovornega okna za prijavo

Datoteka uporabniškega vmesnika, ki jo je ustvaril Qt Designer se lahko v skriptu Python uporablja na dva načina. Datoteko lahko uporabite neposredno v skriptu Python ali pretvorjeni datoteki Python v datoteki Qt Designer Datoteka se lahko uporablja v skriptu Python. Oba načina uporabe pogovornega okna Qt Designer so prikazani v naslednjem poglavju vadnice.

Datoteko Qt Designer zaženite neposredno

Modul UIC knjižnice PyQt se uporablja za nalaganje datoteke, ki jo je ustvaril Qt Designer, in datoteke loadUI () metoda modula UIC se uporablja za nalaganje datoteke UI. Naslednji skript prikazuje, kako naložiti Qt Designer datoteka z imenom Vpiši se.ui ki smo jih ustvarili prej. Potrebni moduli se uvozijo na začetku skripta. Predmet aplikacije je ustvarjen z uporabo QApplication (), in Qt Designer datoteka se naloži s pomočjo loadUI () metoda. Nato, exec () za zagon zanke dogodkov aplikacije.

# Uvozi modul sys
uvoz sys
# Uvozi pripomočke QtWidget in uic module
iz PyQt5 uvozi pripomočke QtWic, uic
# Ustvari objekt aplikacije
app = QtWidgets.QApplication (sys.argv)
# Naložite obrazec in prikaz GUI
okno = uic.loadUi ("Prijava.uporabniški vmesnik ")
okno.pokaži ()
# Zaženite zanko dogodka aplikacije ali pogovornega okna
app.exec ()

Po izvedbi zgornjega skripta se prikaže naslednje pogovorno okno.

Zaženite datoteko uporabniškega vmesnika s pretvorbo v datoteko Python

Datoteko UI, ki jo je ustvaril Qt Designer, lahko pretvorite v datoteko Python z uporabo pyuic5 ukaz. Za pretvorbo datoteke zaženite naslednji ukaz Vpiši se.ui datoteko v prijavni obrazec.py mapa. The Vpiši se.ui datoteka mora biti shranjena na trenutni lokaciji, da se zažene naslednji ukaz; v nasprotnem primeru se ustvari napaka.

$ pyuic5 Prijava.ui -o prijavni obrazec.py

Naslednja koda bo ustvarjena v prijavni obrazec.py datoteko po izvedbi zgornjega ukaza.

# - * - kodiranje: utf-8 - *-
# Izvedba obrazca, ustvarjena iz branja ui datoteke 'Prijava.uporabniško ime
#
# Ustvaril: Generator kode vmesnika PyQt5 5.12.3
#
# OPOZORILO! Vse spremembe v tej datoteki bodo izgubljene!
iz PyQt5 uvozi QtCore, QtGui, QtWidgets
razred Ui_Logindialog (objekt):
def setupUi (self, Logindialog):
Dialog za prijavo.setObjectName ("Dialog za prijavo")
Dialog za prijavo.velikost (400, 224)
sebe.textEdit = QtWidgets.QTextEdit (Dialog za prijavo)
sebe.textEdit.setGeometry (QtCore.QRect (130, 70, 221, 31))
sebe.textEdit.setObjectName ("textEdit")
sebe.textEdit_2 = QtWidgets.QTextEdit (Dialog za prijavo)
sebe.textEdit_2.setGeometry (QtCore.QRect (130, 120, 221, 31))
sebe.textEdit_2.setObjectName ("textEdit_2")
sebe.label = QtWidgets.QLabel (Dialog za prijavo)
sebe.nalepko.setGeometry (QtCore.QRect (140, 20, 131, 31))
font = QtGui.QFont ()
pisave.setPointSize (18)
sebe.nalepko.setFont (pisava)
sebe.nalepko.setObjectName ("nalepka")
sebe.label_2 = QtWidgets.QLabel (Dialog za prijavo)
sebe.label_2.setGeometry (QtCore.QRect (36, 70, 81, 20))
sebe.label_2.setObjectName ("label_2")
sebe.label_3 = QtWidgets.QLabel (Dialog za prijavo)
sebe.label_3.setGeometry (QtCore.QRect (40, 120, 67, 17))
sebe.label_3.setObjectName ("label_3")
sebe.btnLogin = QtWidgets.QPushButton (Dialog za prijavo)
sebe.btnLogin.setGeometry (QtCore.QRect (150, 170, 89, 25))
sebe.btnLogin.setObjectName ("btnLogin")
sebe.btnCancel = QtWidgets.QPushButton (Dialog za prijavo)
sebe.btnPrekliči.setGeometry (QtCore.QRect (250, 170, 89, 25))
sebe.btnPrekliči.setObjectName ("btnCancel")
sebe.retranslateUi (dialogdialog)
QtCore.QMetaObject.connectSlotsByName (Logindialog)
def retranslateUi (self, Logindialog):
_translate = QtCore.QCoreApplication.prevesti
Dialog za prijavo.setWindowTitle (_translate ("Logindialog", "Dialog"))
sebe.nalepko.setText (_translate ("Dialog za prijavo", "Obrazec za prijavo"))
sebe.label_2.setText (_translate ("Dialog za prijavo", "Uporabniško ime"))
sebe.label_3.setText (_translate ("Logindialog", "Password"))
sebe.btnLogin.setText (_translate ("Logindialog", "Login"))
sebe.btnPrekliči.setText (_translate ("Dialog za prijavo", "Prekliči"))

Naslednje bo prikazalo Vpiši se pogovorno okno z uvozom datoteke prijavni obrazec.py datoteka, ustvarjena z pyuic5 ukaz. Predmet aplikacije je ustvarjen z uporabo QApplication (), in pogovorno okno Prijava se naloži s pomočjo setupUi () metoda. Gumb za prijavo je priložen loginClicked () metoda za preverjanje, ali sta uporabniško ime in geslo, vzeta uporabniku, veljavni. The Prekliči gumb je pritrjen na cancelClicked () metoda za izhod iz aplikacije. The exec () za zagon zanke dogodkov aplikacije.

# Uvozi pripomočke QtWidget
iz PyQt5 uvozi pripomočke QtWidgets
# Uvozi sys
uvoz sys
# Uvoz prijavnega obrazca ui
uvozi prijavo Obrazec
# Določite razred za nastavitev uporabniškega vmesnika
razred MyApp (QtWidgets.QMainWindow, prijavni obrazec.Ui_Logindialog):
def __init __ (self, nadrejeni = None):
super (MyApp, samo).__init __ (nadrejeni)
# Naložite prijavni obrazec
sebe.setupUi (samo)
# Pokliči metodo loginClicked ()
sebe.btnLogin.kliknili.povezati (samo.prijavaClicked)
# Call cancelClicked () metoda
sebe.btnPrekliči.kliknili.povezati (samo.prekličiKliknil)
# Navedite način preverjanja uporabniškega imena in gesla, ko bo kliknil gumb Prijava
def loginClicked (self):
če jaz.textEdit.toPlainText () == 'admin' in self.textEdit_2.toPlainText () == 'super uporabnik':
print ('overjeni uporabnik')
sicer:
print ('Neupravičeni uporabnik')
# Navedite način za prekinitev skripta, ko klikne gumb Prekliči
def cancelClicked (self):
izhod ()
# Ustvari objekt aplikacije
app = QtWidgets.QApplication (sys.argv)
# Ustvari predmet predmeta
form = MyApp ()
# Prikažite obrazec
oblika.pokaži ()
# Zaženite zanko dogodka aplikacije ali pogovornega okna
app.exec ()

Po izvedbi zgornjega skripta se prikaže naslednje pogovorno okno.


Če uporabnik vpiše napačno uporabniško ime ali geslo v Vpiši se obrazec, potem se po kliku na Vpiši se gumb.


Če uporabnik vnese pravilno uporabniško ime in geslo v Vpiši se obrazec, potem se po kliku na Vpiši se gumb.


Če uporabnik klikne Prekliči v gumbu Vpiši se obrazec, nato pogovorno okno izgine.

Zaključek

Ta vadnica vam je pokazala, kako namestiti Qt Designer in kako s to aplikacijo oblikovati preprost obrazec. Vadnica vam je tudi pokazala, kako neposredno naložite pogovorno okno uporabniškega vmesnika in po pretvorbi v skript Python so prikazani v drugem delu te vadnice. Upajmo, da vam je ta članek pomagal bolje razumeti uporabo Qt Designerja za izdelavo in uporabo grafičnega uporabniškega vmesnika v aplikacijah.

Bitka za Wesnoth 1.13.6 Razvoj izdan
Bitka za Wesnoth 1.13.6, ki je izšel prejšnji mesec, je šesta razvojna izdaja v 1.13.x series in prinaša številne izboljšave, predvsem uporabniški vme...
Kako namestiti League Of Legends na Ubuntu 14.04
Če ste ljubitelj League of Legends, je to priložnost, da preizkusite League of Legends. Upoštevajte, da LOL podpira PlayOnLinux, če uporabljate Linux....
Namestite najnovejšo strategijo igre OpenRA v Ubuntu Linux
OpenRA je Libre / Free Real Time strateški stroj, ki poustvarja zgodnje igre Westwood, kot je klasična Command & Conquer: Red Alert. Porazdeljeni modi...