So verwenden Sie PYQT GUI Builder

So verwenden Sie PYQT GUI Builder

PYQT ist eine beliebte Python -Bibliothek, die zur Implementierung grafischer Anwendungen in Python leichter verwendet wird. Diese Bibliothek wird mit einem GUI -Builder -Tool (Grafical User Interface) ausgestattet QT Designer. Die GUI kann in Python mit der Drag & Drop-Funktion dieser Bibliothek schnell erstellt werden, obwohl dieses Tool keine Debugging-Funktion wie die Standard-IDE hat. Dieses Tutorial zeigt Ihnen, wie Sie die GUI mit der QT -Designer -Klasse von PYQT implementieren können.

Voraussetzungen

Sie müssen das QT -Designer -Tool installieren, bevor Sie die in diesem Tutorial bereitgestellten Beispiele üben. Führen Sie die folgenden Befehle aus, um die zu installieren QT Designer Auf Ihrem System:

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

Öffnen Sie den QT -Designer

Führen Sie den folgenden Befehl aus, um den aktuellen Verzeichnisspeicherort in die zu ändern QT Designer Ordner.

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

Führen Sie den folgenden Befehl aus, um die QT Designer -Anwendung zu öffnen.

$ ./Designer

Wenn der QT Designer Es wurde ordnungsgemäß installiert, das folgende Fenster wird angezeigt. Der Widget Auf der linken Seite des Hauptfensters enthält das Box verschiedene Widgets, mit denen Sie die Benutzeroberfläche der Anwendung entwerfen können. Der Neue Form Das Fenster wird verwendet, um ein neues Fenster mit den Standardtasten zu erstellen. Die Fenster auf der rechten Seite des Hauptfensters enthält Informationen zu den Widgets, die gelesen oder geändert werden können.

Erstellen Sie das erste Formular mit dem QT -Designer

Um die Schnittstelle für die Python -Anwendung zu entwerfen, klicken wir auf die Erstellen Schaltfläche im folgenden Fenster, um das Dialogfeld mit zwei Standardtasten zu öffnen.

Als nächstes entwerfen wir ein Anmeldeformular mit der Beschriftung, Textbearbeitungs- und Druckschaltflächen -Widgets. Das Dialogfeld wird mit dem Namen Login gespeichert.UI, die später im Python -Skript verwendet wird. Der Qobject Der Name wird geändert in Logindialog Verwendung der Eigenschaftseditorfenster dieser Anwendung.

Verwenden des Dialogfelds Anmeldung

Die von der Benutzeroberfläche erstellte Benutzeroberflächendatei QT Designer kann im Python -Skript auf zwei Arten verwendet werden. Die Datei kann direkt im Python -Skript oder in der konvertierten Python -Datei der verwendet werden QT Designer Die Datei kann im Python -Skript verwendet werden. Beide Möglichkeiten, das Dialogfeld von zu verwenden QT Designer werden im folgenden Abschnitt des Tutorials angezeigt.

Führen Sie die QT -Designerdatei direkt aus

Das UIC -Modul der PYQT -Bibliothek wird verwendet, um die vom QT -Designer erstellte Datei und die zu laden loadUi () Die Methode des UIC -Moduls wird verwendet, um die UI -Datei zu laden. Das folgende Skript zeigt, wie das Laden der geladen wird QT Designer Datei benannt Anmeldung.ui das wir zuvor erstellt haben. Die erforderlichen Module werden zu Beginn des Skripts importiert. Das Objekt der Anwendung wird mit dem erstellt Qapplication (), und das QT Designer Die Datei wird mit dem geladen loadUi () Methode. Als nächstes die exec () Die Methode wird aufgerufen, um die Ereignisschleife der Anwendung zu starten.

# SYS -Modul importieren
Importsystem
# Importieren Sie QTWIDgets und UIC -Module
von pyqt5 import qtwidgets, uic
# App -Objekt erstellen
app = qtwidgets.Qapplication (sys.argv)
# GUI -Form und Anzeige laden
Fenster = UIC.loadUi ("Anmeldung.ui ")
Fenster.zeigen()
# Starten Sie die Ereignisschleife des App oder des Dialogfelds
App.exec ()

Das folgende Dialogfeld wird nach der Ausführung des obigen Skripts angezeigt.

Führen Sie die UI -Datei aus, indem Sie in die Python -Datei konvertieren

Die vom QT -Designer erstellte UI -Datei kann mit der Python -Datei in eine Python -Datei konvertiert werden pyuic5 Befehl. Führen Sie den folgenden Befehl aus, um die zu konvertieren Anmeldung.ui Datei in die Login Formular.py Datei. Der Anmeldung.ui Die Datei muss im aktuellen Speicherort gespeichert werden, um den folgenden Befehl auszuführen. Andernfalls wird ein Fehler erzeugt.

$ pyuic5 Login.UI -o Anmeldung.py

Der folgende Code wird in der generiert Login Formular.py Datei nach der Ausführung des obigen Befehls.

# -* -Codierung: UTF -8 -*-
# Formularimplementierung, die aus der Lesen der UI -Datei generiert wird, Anmeldung.ui '
#
# Erstellt von: Pyqt5 UI -Codegenerator 5.12.3
#
# WARNUNG! Alle in dieser Datei vorgenommenen Änderungen gehen verloren!
Aus PYQT5 Import qtcore, qtgui, qtwidgets
Klasse UI_Logindialog (Objekt):
Def setupUi (self, logindialog):
Logindialog.setObjectName ("logindialog")
Logindialog.Größenänderung (400, 224)
selbst.textedit = qtwidgets.Qtextedit (logindialog)
selbst.textedit.setGeometry (qtcore.QRECT (130, 70, 221, 31))
selbst.textedit.setObjectName ("textedit")
selbst.textedit_2 = qtwidgets.Qtextedit (logindialog)
selbst.textedit_2.setGeometry (qtcore.QRECT (130, 120, 221, 31))
selbst.textedit_2.setObjectName ("textedit_2")
selbst.label = qtwidgets.Qlabel (logindialog)
selbst.Etikett.setGeometry (qtcore.QRECT (140, 20, 131, 31))
font = qtgui.Qfont ()
Schriftart.SetPointsize (18)
selbst.Etikett.setfont (Schriftart)
selbst.Etikett.setObjectName ("label")
selbst.label_2 = qtwidgets.Qlabel (logindialog)
selbst.Label_2.setGeometry (qtcore.QRECT (36, 70, 81, 20))
selbst.Label_2.setObjectName ("label_2")
selbst.label_3 = qtwidgets.Qlabel (logindialog)
selbst.Label_3.setGeometry (qtcore.QRECT (40, 120, 67, 17))
selbst.Label_3.setObjectName ("label_3")
selbst.btnlogin = qtwidgets.Qpushbutton (logindialog)
selbst.Btnlogin.setGeometry (qtcore.QRECT (150, 170, 89, 25))
selbst.Btnlogin.setObjectName ("Btnlogin")
selbst.btncancel = qtwidgets.Qpushbutton (logindialog)
selbst.Btncancel.setGeometry (qtcore.QRect (250, 170, 89, 25))
selbst.Btncancel.setObjectName ("btncancel")
selbst.retranslateui (logindialog)
Qtcore.QmetaObject.ConnectSlotsByName (Logindialog)
Def retranslateui (self, logindialog):
_translate = qtcore.QcoreApplication.übersetzen
Logindialog.setWindowtitle (_translate ("logindialog", "Dialog"))
selbst.Etikett.setText (_translate ("logindialog", "Anmeldformular"))
selbst.Label_2.setText (_translate ("logindialog", "Benutzername"))
selbst.Label_3.setText (_translate ("Logindialog", "Passwort"))
selbst.Btnlogin.setText (_translate ("logindialog", "login"))
selbst.Btncancel.setText (_translate ("logindialog", "abbrechen"))

Im Folgenden wird die angezeigt Anmeldung Dialogfeld durch Importieren des Login Formular.py Datei erstellt mit dem pyuic5 Befehl. Das Objekt der Anwendung wird mit Verwendung erstellt Qapplication (), und das Dialogfeld Anmeldung wird mit dem geladen setupUi () Methode. Die Anmeldetaste ist mit dem angehängt loginclicked () Methode, um zu überprüfen, ob der Benutzername und das Kennwort vom Benutzer gültig sind. Der Stornieren Die Taste ist an die angebracht CancelClicked () Methode zur Beendigung der Anwendung. Der exec () Die Methode wird aufgerufen, um die Ereignisschleife der Anwendung zu starten.

# QTWIDGETS importieren
von pyqt5 import qtwidgets
# SYS importieren
Importsystem
# Anmeldeformular UI importieren
Loginform importieren
# Definieren Sie eine Klasse, um die Benutzeroberfläche einzurichten
Klassenmyapp (Qtwidgets.QMainWindow, Anmeldung.Ui_logindialog):
def __init __ (self, Elternteil = keine):
Super (Myapp, Selbst).__init __ (Elternteil)
# Laden Sie das Anmeldeformular
selbst.Setupui (Selbst)
# Aufrufen loginclicked () Methode
selbst.Btnlogin.geklickt.verbinden (Selbst.Loginclicked)
# CALL CRANDERCLICKED () -Methode aufrufen
selbst.Btncancel.geklickt.verbinden (Selbst.absagen)
# Die Methode deklarieren, um den Benutzernamen und das Passwort zu überprüfen, wenn die Anmeldebaste klickt
Def Loginclicked (Selbst):
Wenn Selbst.textedit.toplainText () == 'admin' und Selbst.textedit_2.toplainText () == 'Superuser':
print ('authentifizierter Benutzer')
anders:
print ('nicht authentifizierter Benutzer')
# Die Methode deklarieren, um das Skript zu beenden, wenn die Schaltfläche Abbrechen klickt
Def CancelClicked (Selbst):
Ausfahrt()
# App -Objekt erstellen
app = qtwidgets.Qapplication (sys.argv)
# Klassenobjekt erstellen
Form = MyApp ()
# Zeigen Sie das Formular an
form.zeigen()
# Starten Sie die Ereignisschleife des App oder des Dialogfelds
App.exec ()

Das folgende Dialogfeld wird nach der Ausführung des obigen Skripts angezeigt.


Wenn der Benutzer den falschen Benutzernamen oder das falsche Passwort in der Anmeldung Formular wird nach dem Klicken auf die folgende Ausgabe angezeigt Anmeldung Taste.


Wenn der Benutzer den richtigen Benutzernamen und das richtige Passwort in der Anmeldung Formular wird nach dem Klicken auf die folgende Ausgabe angezeigt Anmeldung Taste.


Wenn der Benutzer auf das klickt Stornieren Taste in der Anmeldung Formular wird das Dialogfeld verschwinden.

Abschluss

Dieses Tutorial hat Ihnen gezeigt, wie Sie installieren QT Designer und wie man eine einfache Form mit dieser Anwendung entwirft. Das Tutorial hat Ihnen auch gezeigt. Hoffentlich hat Ihnen dieser Artikel geholfen, die Verwendung von QT Designer für den Aufbau und die Verwendung der GUI in Bewerbungen besser zu verstehen.