Qt5 und Python

Bei Qt handelt es sich um ein Framework, mit dem (GUI-)Applikationen für unterschiedliche Plattformen entwickelt werden können. Zusammen mit Python 3 kann Qt5 insbesondere dafür verwendet werden, Anwendungen mit grafischer Benutzeroberfläche zu erstellen. Weitere Informationen zu diesem Framework gibt es auf der Qt-Homepage.

Um das Framework nutzen zu können, müsst Ihr die entsprechende Bibliothek installieren:

pip install PyQt5

oder

pip3 install PyQt5

Sobald die Installation abgeschlossen ist, kann es auch sofort mit einem ersten Projekt losgehen. Ein einfaches, leeres Applikations-Fenster lässt sich mit folgendem Code realisieren:

import sys
from PyQt5.QtWidgets import QApplication, QWidget

if __name__ == '__main__':

    app = QApplication(sys.argv)

    # Create a window
    window = QWidget()
    window.resize(450, 300)
    window.move(300, 300)
    window.setWindowTitle('Qt5-Fenster')
    window.show()

    sys.exit(app.exec_())

Ein Qt5-Fenster, erstellt mit Python

Der erforderliche Code ist sehr einfach: Zunächst erstellen wir eine QWidget-Instanz. Das eröffnet uns dann die Möglichkeit, die Größe des Fensters, die Position und den Fenster-Titel festzulegen. Die Zeile window.show() lässt dann das Fenster auf dem Monitor erscheinen. Schließlich wird mit sys.exit(app.exec_()) die Ausführung des Programms beendet.

Mit Python ist auch eine objektorientierte Programmierung möglich. Deswegen schauen wir uns jetzt einen anderen Ansatz an, bei dem eine Klasse erstellt wird.

import sys
from PyQt5.QtWidgets import QApplication, QWidget

class SimpleApp(QWidget):
    def __init__(self):
        super().__init__()
        self.title = 'Qt5-Fenster'
        self.left = 300
        self.top = 300
        self.width = 450
        self.height = 300
        self.initUI()

    def initUI(self):
        self.setWindowTitle(self.title)
        self.setGeometry(self.left, self.top, self.width, self.height)
        self.show()

if __name__ == '__main__':
    app = QApplication(sys.argv)
    example_window = SimpleApp()
    sys.exit(app.exec_())

In diesem Beispiel lassen sich die Elemente des vorherigen Codes wiedererkennen, so dass er ebenfalls nicht schwer zu verstehen sein dürfte. Die Fenster-Eigenschaften werden hier in der Klasse SimpleApp “verpackt”. Für die Position, die Breite und die Höhe des Fensters wird die Methode setGeometry() genutzt. Die Zeile example_window = SimpleApp() sorgt schließlich für die Instanziierung von SimpleApp.

Als Fazit kann also festgehalten werden, dass die Erzeugung eines einfachen Fensters nicht sonderlich schwierig ist. Die hier gezeigten Beispiele sollten übrigens sowohl auf Linux als auch auf macOS und Windows laufen.

Durch Benutzung dieser Website erklären Sie sich mit der Verwendung von Cookies einverstanden. Mehr Informationen

Die Verwendung von Cookies dient dazu, Inhalte und Anzeigen zu personalisieren, Funktionen für soziale Medien anbieten zu können und die Zugriffe auf diese Website zu analysieren. Außerdem werden Informationen zur Nutzung dieser Webseite an Partner für soziale Medien, Werbung und Analysen weitergegeben.

Schließen