PyQt5 ist eine Bibliothek, die die Möglichkeit bietet, eine grafische Benutzeroberfläche für Anwendungen in der Programmiersprache Python zu erstellen. Eine der Hauptkomponenten von PyQt5 ist das QtCore-Modul, das Klassen und Funktionen für die Arbeit mit einer grafischen Benutzeroberfläche enthält.
In diesem Artikel erfahren Sie, wie Sie mit der PyQt5-Bibliothek ein Quadrat auf der grafischen Oberfläche Ihrer Anwendung zeichnen. Dazu verwenden wir die QPainter-Klasse aus dem QtGui-Modul, die Funktionen zum Zeichnen bereitstellt.
Der Prozess, ein Quadrat zu zeichnen, besteht aus mehreren Schritten. Zuerst erstellen wir ein Objekt der QPainter-Klasse und übergeben es als Argument an das Objekt der QWidget-Klasse, auf dem das Bild angezeigt wird. Dann wählen wir die Farbe und die Dicke der Linie aus, mit der wir das Quadrat zeichnen werden. Danach rufen wir die drawRect-Methode auf, die die Koordinaten der oberen linken Ecke des Quadrats und seine Breite und Höhe annimmt.
Quadrat in Python: Zeichnen mit PyQt5
Um ein Quadrat mit PyQt5 zu zeichnen, können wir die QPainter-Klasse verwenden. QPainter bietet viele Methoden zum Zeichnen verschiedener Arten von grafischen Objekten.
Zuerst müssen wir ein QPainter-Objekt erstellen und angeben, auf welchem Widget wir ein Quadrat zeichnen möchten. Dann verwenden wir die drawRect-Methode, um das Quadrat selbst zu zeichnen. Wir müssen die Koordinaten der oberen linken Ecke und die Breite und Höhe des Quadrats angeben.
from PyQt5.QtWidgets import QApplication, QMainWindow, QWidgetfrom PyQt5.QtGui import QPainter, QColorimport sysclass MyWidget(QWidget):def paintEvent(self, event):painter = QPainter(self)painter.setBrush(QColor(255,255,255))painter.drawRect(50, 50, 200, 200)app = QApplication(sys.argv)window = QMainWindow()widget = MyWidget(window)window.setCentralWidget(widget)window.show()sys.exit(app.exec_())
In diesem Beispiel erstellen wir eine MyWidget-Klasse, die von der QWidget-Klasse erbt. Wir überschreiben die paintEvent-Methode, die aufgerufen wird, wenn das Widget neu gezeichnet werden muss. Innerhalb dieser Methode erstellen wir ein QPainter-Objekt und verwenden die Methoden setBrush und drawRect, um ein Quadrat zu zeichnen.
Wir erstellen auch QApplication- und QMainWindow-Objekte, um ein Anwendungsfenster zu erstellen und unser Widget als Haupt-Widget festzulegen. Dann rufen wir die show-Methode auf, um unser Fenster anzuzeigen.
Dies ist nur ein grundlegendes Beispiel, aber mit PyQt5 können Sie komplexere und farbenfrohere grafische Objekte erstellen, einschließlich Quadrate in verschiedenen Größen und Farben. Mit anderen Methoden der QPainter-Klasse können Sie auch andere Arten von Formen zeichnen und ihnen Stile und Effekte hinzufügen.
Installation und Konfiguration
Um ein Quadrat in Python mit der PyQt5-Bibliothek zu zeichnen, müssen Sie die folgenden Schritte ausführen:
| Schritt | Die Beschreibung |
|---|---|
| 1 | Installieren Sie Python auf Ihrem Computer, wenn es noch keinen gibt. Sie können Python von der offiziellen Website herunterladen https://www.python.org/downloads /. |
| 2 | Installieren Sie die PyQt5-Bibliothek, indem Sie den folgenden Befehl an der Eingabeaufforderung ausführen: |
| pip install pyqt5 | |
| 3 | Erstellen Sie eine neue Python-Datei mit der Erweiterung .py, und öffnen Sie sie in einem Texteditor oder einer Entwicklungsumgebung. |
| 4 | Importieren Sie die erforderlichen Module: |
| from PyQt5.QtWidgets import QApplication, QMainWindow, QWidget, QLabel | |
| 5 | Definieren Sie eine Klasse für das Hauptanwendungsfenster: |
| class MyWindow(QMainWindow): | |
| 6 | Definieren Sie eine Methode zum Zeichnen eines Quadrats: |
| def draw_square(self): | |
| 7 | Erstellen Sie eine Instanz der Anwendung: |
| app = QApplication([]) | |
| 8 | Erstellen Sie eine Instanz des Hauptfensters: |
| window = MyWindow() | |
| 9 | Rufen Sie die Methode auf, um ein Quadrat zu zeichnen: |
| window.draw_square() | |
| 10 | Zeigen Sie das Hauptfenster der Anwendung an: |
| window.show() | |
| 11 | Starten Sie eine Ereignisschleife: |
| app.exec_() | |
| 12 | Speichern Sie die Datei und führen Sie sie mit dem Python-Interpreter aus. |
Nachdem Sie diese Schritte ausgeführt haben, sehen Sie ein Anwendungsfenster, in dem ein Quadrat gezeichnet wird.
Bibliotheken importieren und Fenster erstellen
Um ein Quadrat in Python zu zeichnen, verwenden wir eine Bibliothek PyQt5. Bevor Sie beginnen, müssen wir mehrere Module importieren:
import sys from PyQt5.QtWidgets import QApplication, QMainWindow from PyQt5.QtGui import QPainter, QColor from PyQt5.QtCore import Qt
Modul sys ermöglicht die Interaktion mit Systemfunktionen und der Plattform, während das Modul PyQt5.QtWidgets enthält die erforderlichen Klassen und Funktionen zum Erstellen einer GUI. Modul PyQt5.QtGui verantwortlich für die Arbeit mit grafischen Elementen, einschließlich Pinseln und Farben, und das Modul PyQt5.QtCore stellt Klassen und Funktionen für die Arbeit mit dem PyQt5-Kernel bereit.
Jetzt, da wir die erforderlichen Module importiert haben, können wir mit dem Erstellen eines Fensters beginnen. Dazu müssen wir eine Instanz der Klasse erstellen QApplication das ist das Hauptobjekt der Anwendung:
Wir übergeben eine Liste von Befehlszeilenargumenten (sys.argv) in den Klassenkonstruktor, damit PyQt5 diese Argumente korrekt verarbeiten kann. Dadurch wird eine Instanz der Anwendung erstellt, die die Arbeit mit der GUI ermöglicht.
Dann erstellen wir eine Instanz der Klasse QMainWindow, das das Anwendungsfenster darstellen wird:
Die QMainWindow-Klasse stellt ein Framework zum Erstellen des Hauptanwendungsfensters bereit. Wir erstellen eine Instanz dieser Klasse, um die grundlegenden Eigenschaften eines Fensters wie Größe, Titel und andere Parameter zu definieren.
Ein Quadrat zeichnen
Mit der PyQt5-Bibliothek in der Programmiersprache Python können Sie problemlos ein Quadrat auf der grafischen Oberfläche zeichnen. Dazu können Sie die QPainter-Klasse verwenden, die umfangreiche Möglichkeiten zum Zeichnen von Formen bietet.
Zuerst müssen Sie ein Fenster erstellen und von der QMainWindow-Klasse erben. Dann können Sie in der paintEvent-Methode, die immer dann aufgerufen wird, wenn das Fenster neu gezeichnet werden soll, ein Quadrat mit der drawRect-Methode zeichnen. Geben Sie die Koordinaten der oberen linken Ecke und die Abmessungen des Quadrats an.
Die folgende Tabelle zeigt einen Beispielcode, der ein rotes Quadrat mit einer Seite von 100 Pixeln zeichnet:
from PyQt5.QtWidgets import QApplication, QMainWindow, QWidgetfrom PyQt5.QtGui import QPainter, QColorimport sys
class Window(QMainWindow):def __init__(self):super().__init__()self.setGeometry(100, 100, 300, 300)self.setWindowTitle("Рисование квадрата")self.show()
def paintEvent(self, event):qp = QPainter(self)qp.setBrush(QColor(255, 0, 0))qp.drawRect(50, 50, 100, 100)
Nach dem Start des Programms wird ein Fenster mit einem roten Quadrat geöffnet.
Mit der PyQt5-Bibliothek und der QPainter-Klasse können Sie daher problemlos Formen, einschließlich Quadrate, auf einer grafischen Oberfläche in Python zeichnen.
Hinzufügen von Farbe
Sie können die setStyleSheet() -Methode verwenden, um einem Quadrat in PyQt5 Farbe hinzuzufügen. Diese Methode akzeptiert eine Zeichenfolge, die CSS-Stile enthält.
Sie können den folgenden Code verwenden, um die Hintergrundfarbe eines Quadrats festzulegen:
Dieser Code ändert die Hintergrundfarbe des Quadrats in Rot.
Sie können auch die Farbe des Quadratstrichs ändern, indem Sie die Border-Eigenschaft verwenden :
square.setStyleSheet("border: 2px solid blue;")
Dieser Code legt den Strich eines Quadrats mit einer Dicke von 2 Pixeln und der Farbe Blau fest.
Sie können auch verschiedene CSS-Eigenschaften und -Werte kombinieren, um das gewünschte Ergebnis zu erzielen.
Wenn Sie die Farbe mithilfe von CSS festlegen, können Sie das Aussehen des Quadrats flexibel anpassen und beim Zeichnen interessante Effekte erzeugen.
Größe und Position des Quadrats
Die size-Eigenschaft gibt die Größe des Quadrats in Pixeln an. Wenn Sie beispielsweise ein Quadrat mit einer Größe von 100 x 100 Pixeln festlegen möchten, können Sie den folgenden Code verwenden:
Die pos-Eigenschaft gibt die Position des Quadrats auf dem Bildschirm an. Die Position wird relativ zum Ursprung des Bildschirms angegeben. Um beispielsweise die Position eines Quadrats an einem Punkt (200, 200) festzulegen, können Sie den folgenden Code verwenden:
Neben dem Festlegen der Größe und Position eines Quadrats können Sie auch andere Eigenschaften wie die Füllfarbe oder die Umrandung eines Quadrats verwenden.
Ein Beispiel:
import sysfrom PyQt5.QtWidgets import QApplication, QWidgetclass SquareWidget(QWidget):def __init__(self):super().__init__()self.setGeometry(200, 200, 400, 400)self.setWindowTitle('Квадрат')self.square = QWidget(self)self.square.setStyleSheet('background-color: red;')self.square.setFixedSize(100, 100)self.square.move(150, 150)if __name__ == '__main__':app = QApplication(sys.argv)window = SquareWidget()window.show()sys.exit(app.exec_())
In diesem Beispiel wird eine Anwendung mit einem roten Quadrat erstellt, das 100 x 100 Pixel groß ist und an einem Punkt (150, 150) positioniert ist.
Wenn Sie also die gewünschten Werte für die size- und pos-Eigenschaften festlegen, können Sie die Größe und Position des Quadrats in Ihren Python-Anwendungen mit PyQt5 anpassen.