PyQt5 ist ein leistungsfähiges Toolkit zum Erstellen von grafischen Schnittstellen in Python. Damit können Sie ganz einfach Fenster, Dialogfelder und andere Elemente der Benutzeroberfläche erstellen.
Das Erstellen eines Fensters in PyQt5 mag für Anfänger wie eine schwierige Aufgabe erscheinen, aber es ist eigentlich einfach genug. Sie benötigen nur ein paar Zeilen Code, um ein einfaches Fenster zu erstellen und die erforderlichen Steuerelemente hinzuzufügen.
Installieren Sie zunächst PyQt5 mit pip:
pip install pyqt5
Erstellen Sie dann eine neue Datei mit der Erweiterung .py und fügen Sie den folgenden Code hinzu:
from PyQt5.QtWidgets import QApplication, QMainWindow
window.setWindowTitle('Mein erstes Fenster')
window.setGeometry(100, 100, 500, 500)
Dieser Code erstellt eine neue Anwendung und ein Hauptfenster. Anschließend legen Sie den Titel und die Größe des Fensters fest. Am Ende wird die show() -Methode aufgerufen, damit das Fenster auf dem Bildschirm angezeigt wird.
Nachdem Sie diesen Code ausgeführt haben, sehen Sie ein einfaches Fenster mit der Überschrift "Mein erstes Fenster", die 500x500 Pixel groß ist. Sie können das Fenster weiter anpassen, andere Elemente hinzufügen und ihnen das Verhalten mit PyQt5 festlegen.
Eine kurze Einführung in PyQt5
PyQt5 basiert auf dem Qt-Framework, das eines der beliebtesten und am häufigsten verwendeten Frameworks für die Entwicklung von GUI-Anwendungen ist. PyQt5 verfügt über alle Qt-Funktionen, einschließlich der Möglichkeit, verschiedene Widgets zu erstellen, Fensterlayouts und -stile zu verwalten. Es bietet auch eine große Anzahl von Funktionen für die Arbeit mit UI-Elementen wie Schaltflächen, Textfeldern, Listen usw.
Eines der Hauptmerkmale von PyQt5 ist seine plattformübergreifende Funktionalität. Durch die Verwendung des Qt-Frameworks können Anwendungen, die mit PyQt5 erstellt wurden, auf verschiedenen Betriebssystemen ausgeführt werden, einschließlich Windows, macOS und Linux. Dies ermöglicht es Entwicklern, Anwendungen zu erstellen, die auf einer Vielzahl von Geräten ausgeführt werden.
Das Erstellen eines Fensters in PyQt5 ist sehr einfach. Der erste Schritt besteht darin, ein Objekt der QApplication-Klasse zu erstellen, das die Anwendung darstellt. Anschließend wird ein Objekt der QMainWindow-Klasse erstellt, das das Hauptanwendungsfenster darstellt. Danach können Sie dem Fenster verschiedene Widgets hinzufügen, deren Parameter festlegen und Ereignisse verarbeiten.
from PyQt5.QtWidgets import QApplication, QMainWindow
window.setWindowTitle('Mein erstes PyQt5-Fenster')
window.setGeometry(100, 100, 500, 500)
PyQt5 bietet auch viele zusätzliche Funktionen, z. B. die Möglichkeit, mit Datenbanken, Webdiensten und mehr zu arbeiten. All dies macht PyQt5 zu einem leistungsfähigen Werkzeug, um qualitativ hochwertige grafische Benutzeroberflächen in Python zu erstellen.
Wie erstelle ich ein Grafikfenster in PyQt5
- Installieren Sie die PyQt5-Bibliothek auf Ihrem Computer, falls sie noch nicht installiert ist. Sie können es mit dem pip-Paketmanager installieren, indem Sie den Befehl pip install PyQt5 ausführen.
- Importieren Sie die erforderlichen Module in Ihrem Code. Die Module QtCore , QtGui und QtWidgets werden normalerweise verwendet. Fügen Sie dazu die folgenden Zeilen am Anfang Ihres Codes ein:
from PyQt5 import QtCore, QtGui, QtWidgets
class MyWindow(QtWidgets.QMainWindow):def __init__(self):super().__init__()self.initUI()def initUI(self):self.setWindowTitle("Мое графическое окно")self.setGeometry(100, 100, 500, 500)self.show()
if __name__ == "__main__":app = QtWidgets.QApplication([])window = MyWindow()app.exec_()
Wenn Sie diese Schritte ausführen, erstellen Sie ein Grafikfenster, das auf dem Bildschirm angezeigt wird. Im obigen Code hat das Fenster den Titel "Mein Grafikfenster" und die Abmessungen sind 500x500 Pixel.
Sie können auch das Aussehen des Fensters anpassen, Steuerelemente hinzufügen, Ereignisse behandeln und vieles mehr, indem Sie die Funktionalität der PyQt5-Bibliothek verwenden. Erfahren Sie mehr über die Funktionen von PyQt5 in seiner Dokumentation.
Erstellen eines Fensters in Python pyqt5
Um mit PyQt5 zu beginnen, müssen Sie es mit dem Befehl pip install pyqt5 installieren. Nachdem Sie die Bibliothek installiert haben, können Sie mit dem Erstellen eines Fensters beginnen.
Um ein Fenster in PyQt5 zu erstellen, müssen Sie die QApplication- und QMainWindow-Klassen importieren:
- from PyQt5.QtWidgets import QApplication, QMainWindow
Als nächstes müssen Sie eine Instanz der QApplication-Klasse erstellen:
- app = QApplication([])
Erstellen Sie anschließend eine Instanz der QMainWindow-Klasse:
- win = QMainWindow()
Nachdem Sie eine Instanz der QMainWindow-Klasse erstellt haben, können Sie die Eigenschaften der Klasse anpassen, z. B. den Fenstertitel:
- win.setWindowTitle('Mein Fenster')
Sie können das Fenster dann anzeigen, indem Sie die show() -Methode aufrufen:
Schließlich müssen Sie die Hauptschleife der Anwendung mit der exec() -Methode aufrufen:
Dadurch kann die Anwendung auf Ereignisse und Benutzerinteraktionen mit dem Fenster warten.
Das Erstellen eines Fensters in Python mit der PyQt5-Bibliothek läuft also auf ein paar einfache Schritte hinaus. Mit zusätzlichen Methoden und Eigenschaften der QMainWindow-Klasse können Sie dem Fenster jedoch verschiedene Steuerelemente hinzufügen, z. B. Schaltflächen, Eingabefelder usw.
Schritt 1: Importieren der benötigten Module
Bevor Sie ein Fenster in PyQt5 erstellen, müssen Sie mehrere Module importieren. Sie benötigen das PyQt5-Modul.QtWidgets zum Erstellen von Widgets, das PyQt5-Modul.QtCore zum Arbeiten mit Ereignissen und das sys-Modul zum Verwalten der Anwendung.
Verwenden Sie den folgenden Code, um alle erforderlichen Module zu importieren:
from PyQt5.QtWidgets import QApplication, QMainWindow
from PyQt5.QtCore import Qt
Mit der Option sys importieren können Sie die Funktionen und Methoden des sys-Moduls verwenden. Sie ermöglicht den Zugriff auf Funktionen, mit denen Sie mit dem System interagieren können, z. B. das Beenden eines Programms oder das Übergeben von Befehlszeilenargumenten.
Schritt 2: Erstellen einer Instanz der QApplication-Klasse
Bevor Sie ein Anwendungsfenster erstellen können, müssen Sie eine Instanz der QApplication-Klasse erstellen, die die primäre Ereignisschleife behandelt. Diese Klasse ist für die Verarbeitung aller benutzerdefinierten Aktionen verantwortlich, z. B. das Klicken auf Schaltflächen, das Ändern der Fenstergröße und andere Ereignisse.
Sie müssen ein Objekt der QApplication-Klasse erstellen und Argumente an sie übergeben. Normalerweise verwendet diese Klasse nur ein Argument - eine argv-Befehlszeilenargumentliste. Diese Liste ist nur in bestimmten Fällen erforderlich, z. B. wenn Sie Befehlszeilenargumente an Ihre Anwendung übergeben möchten.
Hier ist ein Beispielcode, der eine Instanz von QApplication erstellt:
Diese Zeichenfolge erstellt ein app-Objekt, das eine Instanz der QApplication-Klasse ist. Es verwendet sys.argv als Argument, um eine Liste von Befehlszeilenargumenten zu erhalten, die beim Starten der Anwendung übergeben werden.
Sobald Sie eine QApplication-Instanz haben, können Sie mit dem Erstellen des Hauptfensters Ihrer Anwendung fortfahren und ihre Oberflächenelemente weiter anpassen.
Schritt 3: Erstellen einer Instanz der QMainWindow-Klasse
Nachdem wir unser Fenster definiert haben, müssen wir es instanziieren, damit es geöffnet werden kann.
Dazu importieren wir zuerst die QMainWindow-Klasse aus dem PyQt5-Modul und erstellen dann ein Objekt dieser Klasse.
from PyQt5.QtWidgets import QMainWindow
Wenn wir eine Instanz der QMainWindow-Klasse erstellen, können wir ein Fenster auf dem Bildschirm öffnen und anzeigen.
Die show() -Methode zeigt das Fenster im Vordergrund an, und die exec_() -Methode beginnt mit der Ausführung der Anwendung.
Nach dem Aufruf der exec_() -Methode wird das Fenster geöffnet und wartet auf die Interaktion des Benutzers.
Jetzt ist unser Fenster fertig und geöffnet, und wir können mit den nächsten Schritten fortfahren, z. B. dem Hinzufügen von Widgets,
anpassen von Layouts und Behandeln von Ereignissen.
Schritt 4: Anpassen der Fensteroberfläche
Widgets in PyQt5 sind Klassen, die von der QWidget-Basisklasse erben. Zum Beispiel wird eine Schaltfläche in PyQt5 durch die QPushButton-Klasse und ein Textfeld durch die QLineEdit-Klasse dargestellt.
Verwenden Sie die addWidget() -Methode aus der QHBoxLayout- oder QVBoxLayout-Klasse, um dem Fenster ein Widget hinzuzufügen. Diese Klassen sind verschiedene Layouts für Widgets in einem Fenster, in dem QHBoxLayout Elemente in einer horizontalen Linie und QVBoxLayout in einer vertikalen Linie positioniert.
Wenn Sie beispielsweise eine Schaltfläche zu einem Fenster hinzufügen möchten, können Sie den folgenden Code verwenden:
- Wir importieren die Klasse QPushButton: from PyQt5.QtWidgets import QPushButton
- Erstellen Sie eine Schaltfläche: button = QPushButton('Klick mich an')
- Fügen Sie dem Fenster: layout eine Schaltfläche hinzu.addWidget(button)
Sie können auch andere Widgets hinzufügen, z. B. Textfelder, Beschriftungen usw.
Nachdem alle Widgets dem Fenster hinzugefügt wurden, müssen Sie es sichtbar machen. Dazu wird die show() -Methode aus der QMainWindow-Klasse verwendet. Letztendlich würde der Code ungefähr so aussehen:
from PyQt5.QtWidgets import QMainWindow, QPushButton, QVBoxLayout, QWidgetclass MyWindow(QMainWindow):def __init__(self):super().__init__()layout = QVBoxLayout()button = QPushButton('Нажми меня')layout.addWidget(button)widget = QWidget()widget.setLayout(layout)self.setCentralWidget(widget)self.show()
In diesem Schritt haben wir die Fensteroberfläche angepasst, eine Schaltfläche hinzugefügt und das Fenster sichtbar gemacht.
Schritt 5: Fenster anzeigen
Nachdem wir ein Klassenobjekt erstellt haben QtWidgets.QApplication und das Hauptfenster mit einer Klasse eingerichtet QtWidgets.QMainWindow. wir können ein Fenster auf dem Bildschirm anzeigen. Dazu benötigen wir eine Methode show().
Rufen Sie die Methode auf show() für unser Fensterobjekt. Beenden Sie den Anwendungscode mit der Funktion app.exec_().
Wenn Sie nun unsere App starten, sollten Sie die Anzeige eines Fensters auf dem Bildschirm sehen. Sie können die Größe des Fensters ändern oder andere Widgets hinzufügen, um eine vollwertige Grafikanwendung zu erstellen. Wir haben gerade die Grundlagen zum Erstellen eines Fensters in PyQt5 gemeistert!