Python

Ako používať program PyQt GUI Builder

Ako používať program PyQt GUI Builder

PyQt je populárna knižnica Pythonu používaná na ľahšiu implementáciu grafických aplikácií v Pythone. Táto knižnica je dodávaná s nástrojom na tvorbu grafického používateľského rozhrania (Graphical User Interface) Návrhár Qt. GUI je možné rýchlo vytvoriť v Pythone pomocou funkcie drag-and-drop tejto knižnice, aj keď tento nástroj nemá žiadne ladiace zariadenie ako štandardné IDE. Tento tutoriál vám ukáže, ako implementovať GUI pomocou triedy Qt Designer v PyQt.

Predpoklady

Pred nacvičením príkladov uvedených v tomto návode si musíte nainštalovať nástroj Qt Designer. Spustením nasledujúcich príkazov nainštalujte Návrhár Qt vo vašom systéme:

$ sudo apt-get nainštalovať qttools5-dev-tools
$ sudo apt-get nainštalovať qttools5-dev

Otvorte Qt Designer

Spustením nasledujúceho príkazu zmeňte súčasné umiestnenie adresára na Návrhár Qt priečinok.

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

Spustením nasledujúceho príkazu otvorte aplikáciu Qt Designer.

$ ./ návrhár

Ak Návrhár Qt bol správne nainštalovaný, zobrazí sa nasledujúce okno. The Widget pole zobrazené na ľavej strane hlavného okna obsahuje rôzne widgety, ktoré môžete použiť na návrh používateľského rozhrania aplikácie. The Nový formulár okno sa používa na vytvorenie nového okna pomocou predvolených tlačidiel. Okná zobrazené na pravej strane hlavného okna poskytujú informácie o miniaplikáciách, ktoré je možné čítať alebo upravovať.

Vytvorte prvý formulár pomocou nástroja Qt Designer

Ak chcete začať navrhovať rozhranie pre aplikáciu Python, klikneme na ikonu Vytvoriť v nasledujúcom okne otvoríte dialógové okno s dvoma predvolenými tlačidlami.

Ďalej navrhneme prihlasovací formulár pomocou Widgety Štítok, Úprava textu a Tlačidlo. Dialógové okno sa uloží s menom Login.ui, ktorá sa použije neskôr v skripte Python. The QObject názov sa zmení na Logindialog pomocou Okno editora nehnuteľností tejto žiadosti.

Pomocou dialógového okna Prihlásenie

Súbor používateľského rozhrania vytvorený serverom Návrhár Qt možno použiť v skripte Python dvoma spôsobmi. Súbor je možné použiť priamo v skripte Python alebo v prevedenom súbore Python súboru Návrhár Qt súbor je možné použiť v skripte Python. Obidva spôsoby použitia dialógového okna Návrhár Qt sú zobrazené v nasledujúcej časti tutoriálu.

Spustite súbor Qt Designer priamo

Modul UIC knižnice PyQt sa používa na načítanie súboru vytvoreného Qt Designer a loadUI () Na načítanie súboru UI sa používa metóda modulu UIC. Nasledujúci skript ukazuje, ako načítať súbor Návrhár Qt súbor s názvom Prihlásiť sa.ui ktoré sme vytvorili predtým. Potrebné moduly sa importujú na začiatok skriptu. Objekt aplikácie sa vytvára pomocou QApplication (), a Návrhár Qt súbor je načítaný pomocou loadUI () metóda. Ďalej exec () metóda sa volá na spustenie slučky udalostí aplikácie.

# Importovať sys modul
import sys
# Importujte QtWidgety a uic moduly
z PyQt5 import QtWidgets, uic
# Vytvorte objekt aplikácie
app = QtWidgets.QAplikácia (sys.argv)
# Načítajte formulár GUI a zobrazte ho
okno = uic.loadUi ("Prihlásenie.ui ")
okno.šou()
# Spustite slučku udalostí v aplikácii alebo dialógovom okne
aplikácia.exec ()

Po vykonaní vyššie uvedeného skriptu sa zobrazí nasledujúce dialógové okno.

Spustite súbor UI prevedením do súboru Python

Súbor UI vytvorený Qt Designer je možné previesť na súbor Python pomocou pyuic5 príkaz. Spustite nasledujúci príkaz na konverziu Prihlásiť sa.ui súbor do prihlasovací formulár.py spis. The Prihlásiť sa.ui súbor musí byť uložený v aktuálnom umiestnení, aby sa spustil nasledujúci príkaz; inak sa vygeneruje chyba.

$ pyuic5 Prihlásenie.ui -o loginForm.py

Nasledujúci kód bude vygenerovaný v prihlasovací formulár.py súbor po vykonaní vyššie uvedeného príkazu.

# - * - kódovanie: utf-8 - *-
# Implementácia formulára vygenerovaná čítaním súboru ui „Prihlásiť sa.ui '
#
# Vytvoril: Generátor kódu PyQt5 UI 5.12.3
#
# POZOR! Všetky zmeny vykonané v tomto súbore sa stratia!
z PyQt5 importujte QtCore, QtGui, QtWidgets
trieda Ui_Logindialog (objekt):
def setupUi (self, Logindialog):
Logindialog.setObjectName ("Logindialog")
Logindialog.zmeniť veľkosť (400, 224)
ja.textEdit = QtWidgets.QTextEdit (Logindialog)
ja.textEdit.setGeometry (QtCore.QRect (130, 70, 221, 31))
ja.textEdit.setObjectName ("textEdit")
ja.textEdit_2 = QtWidgety.QTextEdit (Logindialog)
ja.textEdit_2.setGeometry (QtCore.QRect (130, 120, 221, 31))
ja.textEdit_2.setObjectName ("textEdit_2")
ja.label = QtWidgets.QLabel (Logindialog)
ja.štítok.setGeometry (QtCore.QRect (140, 20, 131, 31))
font = QtGui.QFont ()
písmo.setPointSize (18)
ja.štítok.setFont (písmo)
ja.štítok.setObjectName ("štítok")
ja.label_2 = QtWidgety.QLabel (Logindialog)
ja.štítok_2.setGeometry (QtCore.QRect (36, 70, 81, 20))
ja.štítok_2.setObjectName ("label_2")
ja.label_3 = QtWidgety.QLabel (Logindialog)
ja.štítok_3.setGeometry (QtCore.QRect (40, 120, 67, 17))
ja.štítok_3.setObjectName ("label_3")
ja.btnLogin = QtWidgets.QPushButton (Logindialog)
ja.btnLogin.setGeometry (QtCore.QRect (150, 170, 89, 25))
ja.btnLogin.setObjectName ("btnLogin")
ja.btnCancel = QtWidgets.QPushButton (Logindialog)
ja.btnCancel.setGeometry (QtCore.QRect (250, 170, 89, 25))
ja.btnCancel.setObjectName ("btnCancel")
ja.retranslateUi (Logindialog)
QtCore.QMetaObject.connectSlotsByName (Logindialog)
def retranslateUi (self, Logindialog):
_translate = QtCore.QCoreApplication.preložiť
Logindialog.setWindowTitle (_translate ("Logindialog", "Dialog"))
ja.štítok.setText (_translate ("Logindialog", "prihlasovací formulár"))
ja.štítok_2.setText (_translate ("Logindialog", "Používateľské meno"))
ja.štítok_3.setText (_translate ("Logindialog", "heslo"))
ja.btnLogin.setText (_translate ("Logindialog", "Prihlásenie"))
ja.btnCancel.setText (_translate ("Logindialog", "Zrušiť"))

Nasledujúci text zobrazí Prihlásiť sa dialógové okno importom súboru prihlasovací formulár.py súbor vytvorený pomocou pyuic5 príkaz. Objekt aplikácie je vytvorený pomocou QApplication (), a dialógové okno Prihlásenie sa načíta pomocou setupUi () metóda. Tlačidlo Prihlásenie je pripojené k loginClicked () metóda na kontrolu, či je užívateľské meno a heslo prevzaté od používateľa platné. The Zrušiť tlačidlo je pripevnené k cancelClicked () metóda na ukončenie aplikácie. The exec () metóda sa volá na spustenie slučky udalostí aplikácie.

# Import QtWidgets
z PyQt5 importujte QtWidgety
# Import sys
import sys
# Import prihlasovacieho formulára ui
import loginForm
# Definujte triedu na nastavenie používateľského rozhrania
trieda MyApp (QtWidgets.QMainWindow, loginForm.Ui_Logindialog):
def __init __ (self, parent = None):
super (MyApp, self).__init __ (rodič)
# Vložte prihlasovací formulár
ja.setupUi (vlastné)
# Zavolajte metódu loginClicked ()
ja.btnLogin.klikli.spojiť (seba.loginClicked)
# Metóda zrušenia hovoruCalledClicked ()
ja.btnCancel.klikli.spojiť (seba.cancelClicked)
# Deklarujte spôsob kontroly používateľského mena a hesla po kliknutí na tlačidlo Prihlásiť
def loginClicked (self):
ak ja.textEdit.toPlainText () == 'admin' a ja.textEdit_2.toPlainText () == 'superuser':
tlač („Overený používateľ“)
inak:
tlač („Neoverený používateľ“)
# Deklarujte spôsob ukončenia skriptu po kliknutí na tlačidlo Zrušiť
def cancelClicked (self):
východ()
# Vytvorte objekt aplikácie
app = QtWidgets.QAplikácia (sys.argv)
# Vytvorte objekt triedy
form = MyApp ()
# Zobrazte formulár
formulár.šou()
# Spustite slučku udalostí v aplikácii alebo dialógovom okne
aplikácia.exec ()

Po vykonaní vyššie uvedeného skriptu sa zobrazí nasledujúce dialógové okno.


Ak užívateľ zadá nesprávne užívateľské meno alebo heslo do Prihlásiť sa formulári, potom sa po kliknutí na Prihlásiť sa tlačidlo.


Ak užívateľ zadá správne užívateľské meno a heslo do Prihlásiť sa formulári, potom sa po kliknutí na Prihlásiť sa tlačidlo.


Ak používateľ klikne na ikonu Zrušiť tlačidlo v Prihlásiť sa formulára, dialógové okno zmizne.

Záver

Tento návod vám ukázal, ako nainštalovať Návrhár Qt a ako navrhnúť jednoduchý formulár pomocou tejto aplikácie. V tomto výučbe sa tiež dozviete, ako načítať dialógové okno používateľského rozhrania priamo a po jeho prevode do skriptu Python sa ukázalo v druhej časti tohto tutoriálu. Dúfajme, že vám tento článok pomohol lepšie pochopiť použitie Qt Designer na vytváranie a používanie GUI v aplikáciách.

Hry Najlepšie linuxové distribúcie pre hry v roku 2021
Najlepšie linuxové distribúcie pre hry v roku 2021
Operačný systém Linux prešiel dlhou cestou od svojho originálneho, jednoduchého serverového vzhľadu. Tento OS sa za posledné roky nesmierne vylepšil a...
Hry Ako zachytiť a streamovať vašu hernú reláciu v systéme Linux
Ako zachytiť a streamovať vašu hernú reláciu v systéme Linux
V minulosti sa hranie hier považovalo iba za hobby, ale časom došlo v hernom priemysle k obrovskému nárastu z hľadiska technológie i počtu hráčov. Her...
Hry Najlepšie hry na hranie s ručným sledovaním
Najlepšie hry na hranie s ručným sledovaním
Oculus Quest nedávno predstavil skvelú myšlienku ručného sledovania bez ovládačov. Vďaka stále sa zvyšujúcemu počtu hier a aktivít, ktoré vykonávajú p...