Krajta

Jak používat nástroj PyQt GUI Builder

Jak používat nástroj PyQt GUI Builder

PyQt je populární knihovna v Pythonu, která se používá k snadnější implementaci grafických aplikací v Pythonu. Tato knihovna je dodávána s nástrojem pro tvorbu grafického uživatelského rozhraní (Graphical User Interface) Návrhář Qt. GUI lze rychle vytvořit v Pythonu pomocí funkce drag-and-drop této knihovny, i když tento nástroj nemá žádné ladicí zařízení, jako je standardní IDE. Tento výukový program vám ukáže, jak implementovat GUI pomocí třídy Qt Designer v PyQt.

Předpoklady

Před procvičením příkladů uvedených v tomto kurzu musíte nainstalovat nástroj Qt Designer. Spusťte následující příkazy a nainstalujte Návrhář Qt ve vašem systému:

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

Otevřete Qt Designer

Spuštěním následujícího příkazu změňte aktuální umístění adresáře na Návrhář Qt složku.

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

Spuštěním následujícího příkazu otevřete aplikaci Qt Designer.

$ ./návrhář

Pokud Návrhář Qt byl správně nainstalován, zobrazí se následující okno. The Widget rámeček zobrazený na levé straně hlavního okna obsahuje různé widgety, které můžete použít k návrhu uživatelského rozhraní aplikace. The Nový formulář okno se používá k vytvoření nového okna pomocí výchozích tlačítek. Okna zobrazená na pravé straně hlavního okna poskytují informace o widgetech, které lze číst nebo upravovat.

Vytvořte první formulář pomocí Qt Designer

Chcete-li začít navrhovat rozhraní pro aplikaci Python, klikneme na ikonu Vytvořit v následujícím okně otevřete dialogové okno se dvěma výchozími tlačítky.

Dále navrhneme přihlašovací formulář pomocí Widgety Štítek, Úpravy textu a Tlačítko. Dialogové okno bude uloženo s názvem Přihlásit.ui, které bude použito později ve skriptu Pythonu. The QObject název bude změněn na Logindialog za použití Okno Editor vlastností této aplikace.

Pomocí dialogového okna Přihlášení

Soubor uživatelského rozhraní vytvořený Návrhář Qt lze použít ve skriptu Python dvěma způsoby. Soubor lze použít přímo ve skriptu Pythonu nebo převedeného souboru Pythonu souboru Návrhář Qt soubor lze použít ve skriptu Python. Oba způsoby použití dialogového okna Návrhář Qt jsou uvedeny v následující části tutoriálu.

Spusťte soubor Qt Designer přímo

Modul UIC knihovny PyQt se používá k načtení souboru vytvořeného Qt Designer a loadUI () k načtení souboru uživatelského rozhraní se používá metoda modulu UIC. Následující skript ukazuje, jak načíst soubor Návrhář Qt soubor s názvem Přihlásit se.ui které jsme vytvořili dříve. Potřebné moduly se importují na začátek skriptu. Objekt aplikace je vytvořen pomocí QApplication (), a Návrhář Qt soubor je načten pomocí loadUI () metoda. Dále exec () metoda je volána ke spuštění smyčky události aplikace.

# Importovat sys modul
import sys
# Importujte QtWidgety a uic moduly
z PyQt5 import QtWidgets, uic
# Vytvořit objekt aplikace
app = QtWidgets.QApplication (sys.argv)
# Načtěte formulář GUI a zobrazte jej
okno = uic.loadUi ("Přihlášení.ui ")
okno.ukázat()
# Spusťte smyčku událostí aplikace nebo dialogového okna
aplikace.exec ()

Po provedení výše uvedeného skriptu se zobrazí následující dialogové okno.

Spusťte soubor uživatelského rozhraní převedením do souboru Pythonu

Soubor uživatelského rozhraní vytvořený Qt Designer lze převést na soubor Python pomocí pyuic5 příkaz. Spusťte následující příkaz k převodu Přihlásit se.ui soubor do přihlašovací formulář.py soubor. The Přihlásit se.ui soubor musí být uložen v aktuálním umístění, aby bylo možné spustit následující příkaz; jinak bude vygenerována chyba.

$ pyuic5 Přihlášení.ui -o loginForm.py

Následující kód bude vygenerován v přihlašovací formulář.py soubor po provedení výše uvedeného příkazu.

# - * - kódování: utf-8 - *-
# Implementace formuláře vygenerovaná čtením souboru uživatelského rozhraní „Přihlášení.ui '
#
# Vytvořil: PyQt5 generátor kódu uživatelského rozhraní 5.12.3
#
# VAROVÁNÍ! Všechny změny provedené v tomto souboru budou ztraceny!
z PyQt5 importujte QtCore, QtGui, QtWidgets
třída Ui_Logindialog (objekt):
def setupUi (self, Logindialog):
Logindialog.setObjectName ("Logindialog")
Logindialog.změnit velikost (400, 224)
já.textEdit = QtWidgets.QTextEdit (Logindialog)
já.textEdit.setGeometry (QtCore.QRect (130, 70, 221, 31))
já.textEdit.setObjectName ("textEdit")
já.textEdit_2 = QtWidgety.QTextEdit (Logindialog)
já.textEdit_2.setGeometry (QtCore.QRect (130, 120, 221, 31))
já.textEdit_2.setObjectName ("textEdit_2")
já.label = QtWidgets.QLabel (Logindialog)
já.označení.setGeometry (QtCore.QRect (140, 20, 131, 31))
font = QtGui.QFont ()
písmo.setPointSize (18)
já.označení.setFont (písmo)
já.označení.setObjectName ("štítek")
já.label_2 = QtWidgety.QLabel (Logindialog)
já.štítek_2.setGeometry (QtCore.QRect (36, 70, 81, 20))
já.štítek_2.setObjectName ("label_2")
já.label_3 = QtWidgety.QLabel (Logindialog)
já.štítek_3.setGeometry (QtCore.QRect (40, 120, 67, 17))
já.štítek_3.setObjectName ("label_3")
já.btnLogin = QtWidgets.QPushButton (Logindialog)
já.btnLogin.setGeometry (QtCore.QRect (150, 170, 89, 25))
já.btnLogin.setObjectName ("btnLogin")
já.btnCancel = QtWidgets.QPushButton (Logindialog)
já.btnCancel.setGeometry (QtCore.QRect (250, 170, 89, 25))
já.btnCancel.setObjectName ("btnCancel")
já.retranslateUi (Logindialog)
QtCore.QMetaObject.connectSlotsByName (Logindialog)
def retranslateUi (self, Logindialog):
_translate = QtCore.QCoreApplication.přeložit
Logindialog.setWindowTitle (_translate ("Logindialog", "Dialog"))
já.označení.setText (_translate ("Logindialog", "přihlašovací formulář"))
já.štítek_2.setText (_translate ("Logindialog", "uživatelské jméno"))
já.štítek_3.setText (_translate ("Logindialog", "Heslo"))
já.btnLogin.setText (_translate ("Logindialog", "Přihlášení"))
já.btnCancel.setText (_translate ("Logindialog", "Cancel"))

Následující zobrazí Přihlásit se dialogové okno importem souboru přihlašovací formulář.py soubor vytvořený pomocí pyuic5 příkaz. Objekt aplikace je vytvořen pomocí QApplication (), a dialogové okno přihlášení se načte pomocí setupUi () metoda. Tlačítko Přihlásit je připojeno k loginClicked () metoda ke kontrole, zda je uživatelské jméno a heslo převzaté od uživatele platné. The zrušení tlačítko je připojeno k cancelClicked () způsob ukončení aplikace. The exec () metoda je volána ke spuštění smyčky události aplikace.

# Import QtWidgets
z PyQt5 importujte QtWidgety
# Import sys
import sys
# Importujte přihlašovací formulář uživatelského rozhraní
import loginForm
# Definujte třídu pro nastavení uživatelského rozhraní
třída MyApp (QtWidgets.QMainWindow, loginForm.Ui_Logindialog):
def __init __ (self, parent = None):
super (MyApp, já).__init __ (nadřazený)
# Vložte přihlašovací formulář
já.setupUi (vlastní)
# Zavolejte metodu loginClicked ()
já.btnLogin.klikl.připojit (já.loginClicked)
# Metoda zrušení CancelClicked ()
já.btnCancel.klikl.připojit (já.CancelClicked)
# Deklarujte metodu ke kontrole uživatelského jména a hesla, když kliknete na tlačítko Přihlásit
def loginClicked (self):
pokud já.textEdit.toPlainText () == 'admin' a já.textEdit_2.toPlainText () == 'superuživatel':
tisk („Ověřený uživatel“)
jiný:
tisk („Neověřený uživatel“)
# Deklarujte metodu pro ukončení skriptu, když kliknete na tlačítko Storno
def cancelClicked (self):
výstup()
# Vytvořit objekt aplikace
app = QtWidgets.QApplication (sys.argv)
# Vytvořit objekt třídy
form = MyApp ()
# Zobrazte formulář
formulář.ukázat()
# Spusťte smyčku událostí aplikace nebo dialogového okna
aplikace.exec ()

Po provedení výše uvedeného skriptu se zobrazí následující dialogové okno.


Pokud uživatel zadá nesprávné uživatelské jméno nebo heslo do Přihlásit se po kliknutí na Přihlásit se knoflík.


Pokud uživatel zadá správné uživatelské jméno a heslo do Přihlásit se po kliknutí na Přihlásit se knoflík.


Pokud uživatel klikne na zrušení tlačítko v Přihlásit se formulář, pak dialogové okno zmizí.

Závěr

Tento výukový program vám ukázal, jak nainstalovat Návrhář Qt a jak pomocí této aplikace navrhnout jednoduchý formulář. Výukový program vám také ukázal, jak načíst dialogové okno uživatelského rozhraní přímo a po převodu do skriptu Pythonu se ukázalo v druhé části tohoto výukového programu. Doufejme, že vám tento článek pomohl lépe porozumět použití Qt Designer pro vytváření a používání grafického uživatelského rozhraní v aplikacích.

Hry HD remasterované hry pro Linux, které nikdy dříve neměly vydání Linuxu
HD remasterované hry pro Linux, které nikdy dříve neměly vydání Linuxu
Mnoho vývojářů a vydavatelů her přichází s HD remasterem starých her, aby prodloužili životnost franšízy, prosím fanoušky, kteří požadují kompatibilit...
Hry Jak používat AutoKey k automatizaci linuxových her
Jak používat AutoKey k automatizaci linuxových her
AutoKey je nástroj pro automatizaci stolních počítačů pro systémy Linux a X11, programovaný v programech Python 3, GTK a Qt. Pomocí jeho funkcí skript...
Hry Jak zobrazit počítadlo FPS v linuxových hrách
Jak zobrazit počítadlo FPS v linuxových hrách
Hraní na Linuxu získalo velký tlak, když společnost Valve v roce 2012 oznámila podporu systému Linux pro klienta Steam a jejich hry. Od té doby se mno...