Zum Hauptinhalt springen

Wie zeichne ich ein Quadrat in Python mit PyQt5

PyQt5 ist eine Bibliothek zum Erstellen von grafischen Schnittstellen in der Programmiersprache Python. Eine der beliebtesten Funktionen von PyQt5 besteht darin, ein Grafikfenster zu erstellen, in dem verschiedene Elemente angezeigt werden, einschließlich geometrischer Formen wie Quadrate.

Um ein Quadrat mit PyQt5 in einem Grafikfenster zu zeichnen, müssen Sie eine Instanz der QFrame-Klasse erstellen, die als Container für den quadratischen Bereich dient. Verwenden Sie dann die QPainter-Methode.drawRect(), Sie können das Quadrat selbst zeichnen, indem Sie seine Koordinaten und Abmessungen angeben.

Wichtig ist, dass Sie die paintEvent() -Methode der QFrame-Klasse überschreiben müssen, bevor Sie ein Quadrat zeichnen, um das Neuzeichnungsereignis des Fensters zu verarbeiten und ein QPainter-Objekt zum Zeichnen darauf zu erstellen.

Mit PyQt5 ist es also einfach und einfach, ein Quadrat mit nur wenigen Zeilen Code auf das Grafikfenster zu zeichnen. Diese Funktion kann für Entwickler nützlich sein, die GUI-Programme erstellen und ihnen geometrische Formen hinzufügen möchten.

Grundlagen zum Zeichnen eines Quadrats

In der Programmierung wird ein Quadrat normalerweise mit vier Segmenten gleicher Länge gezeichnet, die in einer geschlossenen Form verbunden sind. In diesem Artikel werden wir uns ansehen, wie man ein Quadrat mit der PyQt5-Bibliothek in der Programmiersprache Python zeichnet.

Zuerst müssen wir PyQt5 installieren, wenn es noch nicht auf dem Computer installiert ist. Dazu können wir den Pip-Paketmanager verwenden:

pip install pyqt5

Nach der Installation von PyQt5 können wir mit der Erstellung eines Fensters beginnen, auf dem wir ein Quadrat zeichnen werden. Dazu erstellen wir eine Klasse, die von der Klasse geerbt wurde QWidget:

import sysfrom PyQt5.QtWidgets import QApplication, QWidgetclass MyWindow(QWidget):def __init__(self):super().__init__()app = QApplication(sys.argv)window = MyWindow()window.show()sys.exit(app.exec_())

Jetzt haben wir ein Fenster, auf das wir malen können. Um ein Quadrat zu zeichnen, verwenden wir die Methode paintEvent. Bei dieser Methode rufen wir Funktionen auf, die einzelne Abschnitte des Quadrats zeichnen:

import sysfrom PyQt5.QtCore import Qtfrom PyQt5.QtGui import QPainterfrom PyQt5.QtWidgets import QApplication, QWidgetclass MyWindow(QWidget):def __init__(self):super().__init__()def paintEvent(self, event):painter = QPainter(self)painter.setPen(Qt.black)self.drawSquare(painter)def drawSquare(self, painter):# Рисуем отрезки квадратаpassapp = QApplication(sys.argv)window = MyWindow()window.show()sys.exit(app.exec_())

In der Funktion drawSquare, die wir der Klasse hinzugefügt haben MyWindow. wir werden die Abschnitte des Quadrats zeichnen. Sie können die Methode zum Zeichnen von Linien verwenden drawLine Objekts QPainter:

def drawSquare(self, painter):# Рисуем отрезки квадратаsize = min(self.width(), self.height())x = (self.width() - size) / 2y = (self.height() - size) / 2painter.drawLine(x, y, x + size, y) # Верхняя горизонтальнаяpainter.drawLine(x + size, y, x + size, y + size) # Правая вертикальнаяpainter.drawLine(x + size, y + size, x, y + size) # Нижняя горизонтальнаяpainter.drawLine(x, y + size, x, y) # Левая вертикальная

Wir bestimmen die Größe des Quadrats, das dem minimalen Wert der Breite und Höhe des Fensters entspricht, damit das Quadrat in das Fenster passt. Dann setzen wir die Koordinaten der Abschnitte des Quadrats und verwenden die Methode drawLine, um Linien zu zeichnen.

Durch Ändern der Koordinaten- und Bemaßungswerte können Sie das Aussehen des Quadrats an Ihre Bedürfnisse anpassen.

Was ist PyQt5?

Mit PyQt5 können Entwickler problemlos Fenster, Schaltflächen, Textfelder und andere Oberflächenelemente erstellen und Ereignisse im Zusammenhang mit der Benutzerinteraktion verarbeiten. Mit den leistungsstarken Qt-Funktionen unterstützt PyQt5 viele Funktionen wie Multithreading, Grafiken, Animationen und Datenbanken.

Mit PyQt5 können Entwickler Anwendungen mit einer schönen und intuitiven Benutzeroberfläche erstellen, die auf einer Vielzahl von Plattformen wie Windows, macOS und Linux ausgeführt werden können. Mit seiner Benutzerfreundlichkeit und seiner Fülle an Funktionen ist PyQt5 ein unschlagbares Werkzeug für die Erstellung hochwertiger grafischer Benutzeroberflächen in Python.

Installieren von PyQt5

Schritt 1:Installieren Sie Python, wenn es noch nicht auf Ihrem Computer installiert ist. Sie können das Python-Installationsprogramm von der offiziellen Python-Website herunterladen und den Installationsanweisungen folgen.
Schritt 2:Öffnen Sie eine Eingabeaufforderung oder ein Terminal und installieren Sie PyQt5, führen Sie den folgenden Befehl aus:
pip install pyqt5
Schritt 3:Warten Sie, bis die PyQt5-Installation abgeschlossen ist. Nach der Installation können Sie beginnen, die PyQt5-Bibliothek zu verwenden, um eine GUI-Anwendung zu erstellen.

Glückwunsch! Jetzt sind Sie bereit, mit PyQt5 zu beginnen und ein Quadrat mit dieser Bibliothek zu erstellen.

Importieren einer Bibliothek und Erstellen einer Grafikanwendung

Um ein Quadrat in Python mit der PyQt5-Bibliothek zu zeichnen, müssen Sie die entsprechenden Module importieren. Zuerst müssen Sie die PyQt5-Bibliothek selbst importieren:

from PyQt5.QtWidgets import *from PyQt5.QtGui import *from PyQt5.QtCore import *

Als nächstes erstellen wir eine grafische Anwendung, die ein Quadrat enthält:

class MainWindow(QMainWindow):def __init__(self):super().__init__()self.setWindowTitle("Квадрат")self.setGeometry(100, 100, 400, 400)self.show()

In diesem Beispiel erstellen wir eine MainWindow-Klasse, die von der QMainWindow-Klasse erbt. In der __init__-Methode legen wir den Fenstertitel mit der setWindowTitle-Methode fest, legen die Fenstergrößen mit der setGeometry-Methode fest und zeigen das Fenster mit der show-Methode an.

Fügen Sie nun den folgenden Code hinzu, um die Grafikanwendung zu instanziieren und auszuführen:

if __name__ == '__main__':app = QApplication([])window = MainWindow()app.exec_()

Hier erstellen wir eine Instanz der QApplication-Klasse, die das primäre Objekt für die Arbeit mit PyQt5-Grafikanwendungen ist. Erstellen Sie dann eine Instanz der MainWindow-Klasse und führen Sie die Hauptschleife der Anwendung mit der exec_-Methode aus.

QPainter- und QRect-Objekte

QPainter ist eine Klasse, die Funktionalität zum Zeichnen auf einem Widget oder einem anderen Objekt bereitstellt, das von der QWidget-Klasse erbt. Es enthält verschiedene Methoden zum Erstellen und Ändern von grafischen Objekten wie Quadraten, Linien und Ellipsen.

QRect ist eine Klasse, die ein Rechteck mit bestimmten Koordinaten und Bemaßungen darstellt. Es wird verwendet, um die Größe und Position von grafischen Elementen wie Quadraten zu bestimmen.

Um ein Quadrat mit QPainter- und QRect-Objekten zu zeichnen, müssen Sie eine Instanz der QPainter-Klasse erstellen, die Farbe und Dicke der Zeichenlinie angeben und dann die drawRect-Methode aufrufen, um eine Instanz der QRect-Klasse an sie zu übergeben.

import sys from PyQt5.QtWidgets import QApplication, QMainWindow, QWidget from PyQt5.QtGui import QPainter, QColor, QPen from PyQt5.QtCore import QRect class MyWidget(QWidget): def paintEvent(selbst, Ereignis): Maler = QPainter(selbst) Maler.setPen(QPen(QColor(255, 0, 0), 5)) rect = QRect(100, 100, 200, 200) Maler.drawRect(rect) wenn __name__ == '__main__': app = QApplication(sys.argv) Fenster = QMainWindow() widget = MyWidget(Fenster) Fenster.setCentralWidget (Widget) Fenster.anzeigen () sys.ausgang(ca.ausführen_ ())

В этом примере создается класс Mein Widget, наследующий от класса Q Widget. Die paintEvent-Methode der MyWidget-Klasse erstellt eine Instanz der QPainter-Klasse und passt die Farbe und Dicke der Zeichenlinie an. Anschließend wird eine Instanz der QRect-Klasse mit den Koordinaten und Abmessungen des Quadrats erstellt, und die drawRect-Methode wird aufgerufen, um das Quadrat zu zeichnen.

Dieser Code kann in PyQt5 verwendet werden, um ein Quadrat und andere geometrische Formen mithilfe von QPainter- und QRect-Objekten zu erstellen.

Ein Quadrat zeichnen

Um mit dem Zeichnen eines Quadrats zu beginnen, müssen Sie zuerst die gewünschten Module PyQt5 und QPainter importieren.

Erstellen Sie danach eine Klasse, die von der QWidget-Klasse erbt. Definieren Sie darin die Funktion, die für das Zeichnen des Quadrats zuständig ist. Rufen Sie innerhalb dieser Funktion die drawRect() -Methode der QPainter-Klasse auf und übergeben Sie die Koordinaten der Eckpunkte des Quadrats an sie.

Erstellen Sie danach eine Instanz der Klasse Ihres Fensters und zeigen Sie sie auf dem Bildschirm an. Wenn Sie nun das Programm starten, sehen Sie ein gezeichnetes Quadrat.

Wenn Sie die Größe oder Position des Quadrats ändern müssen, ändern Sie einfach die Eckpunktkoordinaten und rufen Sie die Renderfunktion erneut auf.

Jetzt, da Sie wissen, wie Sie ein Quadrat in PyQt5 mit Python zeichnen, können Sie diesen Ansatz verwenden, um andere geometrische Formen zu zeichnen oder Ihre eigenen Softwareanwendungen zu erstellen.

Anwendung starten und ein Quadrat anzeigen

Zunächst müssen wir die benötigten Module in unser Projekt importieren. Um mit der GUI zu arbeiten, verwenden wir die PyQt5-Bibliothek. Es ermöglicht Ihnen, Fenster, Schaltflächen, Textfelder und andere Elemente unserer Benutzeroberfläche zu erstellen.

Um ein Fenster zu erstellen, benötigen wir die Methode QMainWindow() aus dem PyQt5-Modul.QtWidgets . Wir fügen auch die Möglichkeit hinzu, die Größe des Fensters und seinen Titel anzupassen.

Der nächste Schritt besteht darin, ein Quadrat zu erstellen. Wir werden ein Objekt der Klasse QGraphicsScene() verwenden, mit dem wir grafische Elemente in unserer Szene anzeigen können. Wir erstellen auch ein Quadrat mit einem Objekt der Klasse QGraphicsRectItem() und passen seine Farbe, Größe und Position an.

Danach erstellen wir ein Objekt der Klasse QGraphicsView() , mit dem wir unsere Szene rendern können. Wir werden auch seine Größe festlegen und unsere Szene als Inhalt hinzufügen.

Um ein Fenster und ein Quadrat anzuzeigen, rufen wir die show() -Methode für unser Fensterobjekt auf.

Wenn wir nun unsere Anwendung starten, sehen wir unser Fenster und das gezeichnete Quadrat. Das Programm wird ausgeführt, bis wir das Fenster schließen.