Python GUI

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/

We use cookies
Wir verwenden Cookies, um Inhalte und Anzeigen zu personalisieren, Funktionen für soziale Medien anbieten zu können und die Zugriffe auf unsere Website zu analysieren. Außerdem geben wir Informationen zu Ihrer Nutzung unserer Website an unsere Partner für soziale Medien, Werbung und Analysen weiter. Unsere Partner führen diese Informationen möglicherweise mit weiteren Daten zusammen, die Sie ihnen bereitgestellt haben oder die sie im Rahmen Ihrer Nutzung der Dienste gesammelt haben