PyQt5 ist eine Reihe von Python-Bindings für das Qt-Anwendungsframework, das häufig zur Erstellung plattformübergreifender grafischer
Benutzeroberflächen (GUIs) verwendet wird.
Dieser Artikel bietet eine umfassende Anleitung zur Python-GUI-Entwicklung mit PyQt5.
Erste Schritte
Um PyQt5 zu verwenden, installieren Sie es mit pip:
pip install pyqt5
Nach der Installation können Sie die benötigten Module in Ihr Python-Skript importieren:
from PyQt5.QtWidgets import QApplication, QWidget, QPushButton, QVBoxLayout
Einfache GUI erstellen
Erstellen wir eine einfache GUI mit einer einzigen Schaltfläche.
class MyApp(QWidget):
def init(self):
super().init()
self.initUI()
def initUI(self):
button = QPushButton('Klick mich!', self)
layout = QVBoxLayout(self)
layout.addWidget(button)
self.setLayout(layout)
self.setWindowTitle('Meine erste PyQt5-App')
self.show()
if name == 'main':
app = QApplication([])
ex = MyApp()
app.exec_()
Dieses Skript erstellt eine neue Klasse MyApp
, die von QWidget
erbt. Die Methode initUI
dient zum Einrichten der GUI. Hier erstellen wir einen QPushButton
und ein QVBoxLayout
, fügen den Button zum Layout hinzu und legen das Layout für das Widget fest.
Wenn dieses Skript ausgeführt wird, wird ein Fenster mit einem einzelnen Button angezeigt.
Erweiterte GUI-Elemente
PyQt5 bietet eine große Auswahl an Widgets für die Erstellung komplexer GUIs. Hier ist ein Beispiel für eine GUI mit einer Texteingabe, einer Schaltfläche und einer Beschriftung zur Anzeige der Eingabe:
class MyApp(QWidget):
def init(self):
super().init()
self.initUI()
def initUI(self):
self.line_edit = QLineEdit(self)
self.button = QPushButton('Senden', self)
self.label = QLabel('', self)
layout = QGridLayout(self)
layout.addWidget(self.line_edit, 0, 0)
layout.addWidget(self.button, 0, 1)
layout.addWidget(self.label, 1, 0, 1, 2)
self.button.clicked.connect(self.on_button_clicked)
self.setWindowTitle('PyQt5 GUI')
self.show()
def on_button_clicked(self):
text = self.line_edit.text()
self.label.setText(text)
if name == 'main':
app = QApplication([])
ex = MyApp()
app.exec_()
In diesem Skript haben wir ein QLineEdit
für die Benutzereingabe, ein QLabel
zur Anzeige der Eingabe hinzugefügt und das clicked
-Signal der Schaltfläche mit dem on_button_clicked
-Slot verbunden. Beim Klicken auf die Schaltfläche wird der Text aus der Zeilenbearbeitung im Label angezeigt.
Ergebnis
PyQt5 ist ein leistungsstarkes Tool zum Erstellen plattformübergreifender GUIs in Python. Diese Anleitung bietet eine grundlegende Einführung in die Erstellung von GUIs mit PyQt5, bietet aber noch viel mehr zu entdecken. Informationen zu erweiterten Funktionen finden Sie in der offiziellen PyQt5-Dokumentation: https://www.riverbankcomputing.com/static/Docs/PyQt5/