Python

Kā izmantot PyQt GUI Builder

Kā izmantot PyQt GUI Builder

PyQt ir populāra Python bibliotēka, ko izmanto, lai vieglāk ieviestu grafiskās programmas Python. Šajā bibliotēkā ir GUI (Graphical User Interface) veidotāja rīks, ko sauc Qt dizainers. GUI var ātri izveidot Python, izmantojot šīs bibliotēkas vilkšanas un nomešanas funkciju, lai gan šim rīkam nav atkļūdošanas iespējas, piemēram, standarta IDE. Šajā apmācībā ir parādīts, kā ieviest GUI, izmantojot PyQt Qt Designer klasi.

Priekšnoteikumi

Pirms praktizējat šajā apmācībā sniegtos piemērus, jums jāinstalē rīks Qt Designer. Izpildiet šīs komandas, lai instalētu Qt dizainers savā sistēmā:

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

Atveriet Qt Designer

Palaidiet šo komandu, lai mainītu pašreizējo direktorijas atrašanās vietu uz Qt dizainers mapi.

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

Palaidiet šo komandu, lai atvērtu lietojumprogrammu Qt Designer.

$ ./ dizainers

Ja Qt dizainers ir pareizi instalēts, parādīsies šāds logs. The Logrīks Galvenā loga kreisajā pusē redzamajā lodziņā ir dažādi logrīki, kurus varat izmantot, lai noformētu lietojumprogrammas lietotāja saskarni. The Jauna forma logs tiek izmantots, lai izveidotu jaunu logu, izmantojot noklusējuma pogas. Galvenā loga labajā pusē redzamie logi sniedz informāciju par logrīkiem, kurus var lasīt vai modificēt.

Izveidojiet pirmo veidlapu, izmantojot Qt noformētāju

Lai sāktu izstrādāt Python lietojumprogrammas saskarni, mēs noklikšķināsim uz Izveidot pogu nākamajā logā, lai atvērtu dialoglodziņu ar divām noklusējuma pogām.

Pēc tam mēs izveidosim pieteikšanās veidlapu, izmantojot Logrīki Etiķetes, Teksta rediģēšana un Poga. Dialoglodziņš tiks saglabāts ar vārdu Login.ui, kas vēlāk tiks izmantots Python skriptā. The QObject nosaukums tiks mainīts uz Logindialog izmantojot Īpašuma redaktora logs šī pieteikuma.

Izmantojot pieteikšanās dialoglodziņu

Lietotāja saskarnes fails, ko izveidojis Qt dizainers var izmantot Python skriptā divos veidos. Failu var izmantot tieši Python skriptā vai konvertētajā Python failā Qt dizainers failu var izmantot Python skriptā. Abi dialoglodziņa izmantošanas veidi Qt dizainers ir parādīti nākamajā apmācības sadaļā.

Palaidiet Qt Designer File tieši

PyQt bibliotēkas UIC moduli izmanto, lai ielādētu Qt Designer izveidoto failu un ielādētUI () UIC faila ielādei tiek izmantota UIC moduļa metode. Šis skripts parāda, kā ielādēt Qt dizainers faila nosaukums Pieslēgties.ui ko mēs izveidojām iepriekš. Nepieciešamie moduļi tiek importēti skripta sākumā. Lietojumprogrammas objekts tiek izveidots, izmantojot QApplication (), un Qt dizainers fails tiek ielādēts, izmantojot ielādētUI () metodi. Tālāk exec () metode tiek izsaukta, lai sāktu lietojumprogrammas notikumu ciklu.

# Importēt sys moduli
importa sys
# Importējiet QtWidgets un uic moduļus
no PyQt5 importējiet QtWidgets, uic
# Izveidot lietotnes objektu
app = QtWidgets.QApplication (sys.argv)
# Ielādējiet GUI veidlapu un displeju
logs = uic.ielādēt.ui ")
logs.rādīt ()
# Sāciet lietotnes vai dialoglodziņa notikumu ciklu
lietotne.exec ()

Pēc iepriekš minētā skripta izpildes parādīsies šāds dialoglodziņš.

Palaidiet lietotāja saskarnes failu, pārveidojot to par Python failu

Qt Designer izveidoto lietotāja saskarnes failu var pārveidot par Python failu, izmantojot pyuic5 komandu. Palaidiet šo komandu, lai konvertētu Pieslēgties.ui failu failā loginForm.py failu. The Pieslēgties.ui fails ir jāuzglabā pašreizējā vietā, lai palaistu šādu komandu; pretējā gadījumā tiks radīta kļūda.

$ pyuic5 pieteikšanās.ui -o loginForm.py

Programmā tiks ģenerēts šāds kods loginForm.py failu pēc iepriekš minētās komandas izpildes.

# - * - kodēšana: utf-8 - *-
# Veidlapas ieviešana, kas radīta, lasot lietotāja failu 'Login.ui '
#
# Izveidoja: PyQt5 lietotāja saskarnes kodu ģenerators 5.12.3
#
# BRĪDINĀJUMS! Visas šajā failā veiktās izmaiņas tiks zaudētas!
no PyQt5 importējiet QtCore, QtGui, QtWidgets
klase Ui_Logindialog (objekts):
def setupUi (pats, Logindialog):
Logindialog.setObjectName ("Logindialog")
Logindialog.mainīt izmēru (400, 224)
pats.textEdit = QtWidgets.QTextEdit (Logindialog)
pats.textEdit.setGeometry (QtCore.QRect (130, 70, 221, 31)
pats.textEdit.setObjectName ("textEdit")
pats.textEdit_2 = QtWidgets.QTextEdit (Logindialog)
pats.textEdit_2.setGeometry (QtCore.QRect (130, 120, 221, 31)
pats.textEdit_2.setObjectName ("textEdit_2")
pats.label = QtWidgets.QLabel (Logindialog)
pats.etiķete.setGeometry (QtCore.QRect (140, 20, 131, 31)
font = QtGui.QFont ()
fonts.setPointSize (18)
pats.etiķete.setFont (fonts)
pats.etiķete.setObjectName ("iezīme")
pats.label_2 = QtWidgets.QLabel (Logindialog)
pats.label_2.setGeometry (QtCore.QRect (36, 70, 81, 20)
pats.label_2.setObjectName ("label_2")
pats.label_3 = QtWidgets.QLabel (Logindialog)
pats.label_3.setGeometry (QtCore.QRect (40, 120, 67, 17))
pats.label_3.setObjectName ("label_3")
pats.btnLogin = QtWidgets.QPushButton (Logindialog)
pats.btnLogin.setGeometry (QtCore.QRect (150, 170, 89, 25))
pats.btnLogin.setObjectName ("btnLogin")
pats.btnCancel = QtWidgets.QPushButton (Logindialog)
pats.btnCancel.setGeometry (QtCore.QRect (250, 170, 89, 25))
pats.btnCancel.setObjectName ("btnCancel")
pats.retranslateUi (Logindialog)
QtCore.QMetaObject.connectSlotsByName (Logindialog)
def retranslateUi (pats, Logindialog):
_translate = QtCore.QCoreApplication.tulkot
Logindialog.setWindowTitle (_translate ("Logindialog", "Dialog"))
pats.etiķete.setText (_translate ("Logindialog", "Pieteikšanās forma"))
pats.label_2.setText (_translate ("Logindialog", "Lietotājvārds"))
pats.label_3.setText (_translate ("Logindialog", "Parole"))
pats.btnLogin.setText (_translate ("Logindialog", "Pieteikšanās"))
pats.btnCancel.setText (_translate ("Logindialog", "Atcelt"))

Tālāk parādīsies Pieslēgties dialoglodziņš, importējot loginForm.py fails, kas izveidots, izmantojot pyuic5 komandu. Lietojumprogrammas objekts tiek izveidots, izmantojot QApplication (), un dialoglodziņš Pieteikšanās tiek ielādēts, izmantojot setupUi () metodi. Pieteikšanās poga ir pievienota ar loginClicked () metodi, lai pārbaudītu, vai no lietotāja paņemtais lietotājvārds un parole ir derīga. The Atcelt poga ir pievienota CancelClicked () metode, lai atmestu lietojumprogrammu. The exec () metode tiek izsaukta, lai sāktu lietojumprogrammas notikumu ciklu.

# Importējiet QtWidgets
no PyQt5 importējiet QtWidgets
# Importēt sistēmas
importa sys
# Importēt pieteikšanās veidlapu ui
import loginForm
# Definējiet klasi lietotāja saskarnes iestatīšanai
klase MyApp (QtWidgets.QMainWindow, loginForm.Ui_Logindialog):
def __init __ (pats, vecāks = nav):
super (MyApp, pats).__init __ (vecāks)
# Ielādējiet pieteikšanās veidlapu
pats.setupUi (pats)
# Call callClicked () metode
pats.btnLogin.noklikšķinājis.savienot (sevi.loginClicked)
# Zvana atcelšanas klikšķis () metode
pats.btnCancel.noklikšķinājis.savienot (sevi.CancelClicked)
# Deklarēt metodi, kā pārbaudīt lietotājvārdu un paroli, kad noklikšķinās uz pogas Pieteikties
def loginClicked (pats):
ja pats.textEdit.toPlainText () == 'administrators' un pats.textEdit_2.toPlainText () == 'superuser':
drukāt (“Autentificēts lietotājs”)
cits:
drukāt (“Neautentificēts lietotājs”)
# Deklarēt metodi, kā pārtraukt skriptu, kad noklikšķinās uz pogas Atcelt
def CancelClicked (pats):
Izeja()
# Izveidot lietotnes objektu
app = QtWidgets.QApplication (sys.argv)
# Izveidot klases objektu
forma = MyApp ()
# Parādīt veidlapu
formā.rādīt ()
# Sāciet lietotnes vai dialoglodziņa notikumu ciklu
lietotne.exec ()

Pēc iepriekš minētā skripta izpildes parādīsies šāds dialoglodziņš.


Ja lietotājs ievada nepareizu lietotājvārdu vai paroli Pieslēgties formā, pēc noklikšķināšanas uz Pieslēgties pogu.


Ja lietotājs ievada pareizo lietotājvārdu un paroli Pieslēgties formā, pēc noklikšķināšanas uz Pieslēgties pogu.


Ja lietotājs noklikšķina uz Atcelt poga Pieslēgties veidlapu, dialoglodziņš pazudīs.

Secinājums

Šī apmācība parādīja, kā instalēt Qt dizainers un kā noformēt vienkāršu veidlapu, izmantojot šo lietojumprogrammu. Apmācība arī parādīja, kā tieši ielādēt lietotāja interfeisa dialoglodziņu un pēc tā pārveidošanas Python skriptā ir parādīti šīs apmācības otrajā daļā. Cerams, ka šis raksts jums palīdzēja labāk izprast Qt Designer izmantošanu GUI veidošanā un izmantošanā lietojumprogrammās.

Kā lietot GameConqueror Cheat Engine Linux
Rakstā ir sniegts ceļvedis par GameConqueror apkrāptu dzinēja izmantošanu Linux. Daudzi lietotāji, kas spēlē spēles operētājsistēmā Windows, bieži izm...
Labākie Linux spēļu konsoles emulatori
Šajā rakstā tiks uzskaitīta populārā Linux spēļu konsoles atdarināšanas programmatūra. Emulācija ir programmatūras saderības slānis, kas atdarina spēļ...
Labākie Linux spēļu draiveri 2021. gadā
Linux operētājsistēma ir gājusi tālu no sākotnējā, vienkāršā uz serveriem balstītā izskata. Šī operētājsistēma pēdējos gados ir ārkārtīgi uzlabojusies...