Přejít na hlavní obsah

Jak nakreslit čtverec v Pythonu pomocí PyQt5

PyQt5 je Knihovna pro vytváření grafických rozhraní v programovacím jazyce Python. Jednou z nejoblíbenějších možností PyQt5 je vytvoření grafického okna pro zobrazení různých prvků, včetně geometrických tvarů, jako jsou čtverce.

Chcete-li nakreslit čtverec na grafickém okně pomocí PyQt5, musíte vytvořit instanci třídy QFrame, která bude sloužit jako kontejner pro čtvercovou oblast. Poté pomocí metody QPainter.drawRect(), můžete nakreslit samotný čtverec zadáním jeho souřadnic a velikostí.

Je důležité si uvědomit, že před nakreslením čtverce je nutné předefinovat metodu paintevent() třídy QFrame, aby bylo možné zpracovat událost překreslení okna a vytvořit objekt QPainter pro jeho kreslení.

S PyQt5 je tedy možné snadno a jednoduše nakreslit čtverec na grafickém okně pomocí pouhých několika řádků kódu. Tato možnost může být užitečná pro vývojáře, kteří vytvářejí programy s grafickým rozhraním a chtějí do nich přidat prvky geometrických tvarů.

Základy kreslení čtverce

V programování se čtverec obvykle kreslí pomocí čtyř úseků stejné délky Spojených ve tvaru uzavřeného tvaru. V tomto článku se podíváme na to, jak nakreslit čtverec pomocí knihovny PyQt5 v programovacím jazyce Python.

Pro začátek budeme muset nainstalovat PyQt5, pokud ještě není nainstalován v počítači. K tomu můžeme použít správce balíčků Pip:

pip install pyqt5

Po instalaci PyQt5 můžeme začít vytvářet okno, na které nakreslíme čtverec. Za tímto účelem vytvoříme třídu zděděnou od třídy 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_())

Nyní máme okno, na kterém můžeme malovat. K nakreslení čtverce použijeme metodu paintEvent. V této metodě vyvoláme funkce, které budou kreslit jednotlivé segmenty čtverce:

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_())

Ve funkci drawSquare, kterou jsme přidali do třídy MyWindow, budeme kreslit části čtverce. Pro kreslení úseků lze použít metodu drawLine objektu 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) # Левая вертикальная

Definujeme velikost čtverce, která se rovná minimální hodnotě šířky a výšky okna, aby se čtverec vešel do okna. Poté nastavíme souřadnice úseků čtverce a použijeme metodu drawLine nakreslit řezy.

Změnou hodnot souřadnic a velikostí můžete upravit vzhled čtverce podle svých potřeb.

Co je PyQt5?

PyQt5 umožňuje vývojářům snadno vytvářet okna, tlačítka, textová pole a další prvky rozhraní a také zpracovávat události související s uživatelskou interakcí. Díky výkonným funkcím Qt podporuje PyQt5 mnoho funkcí, jako je multitread, grafika, animace a databáze.

Pomocí PyQt5 mohou vývojáři vytvářet aplikace s krásným a intuitivním rozhraním, které mohou fungovat na různých platformách, včetně Windows, macOS a Linuxu. Díky snadnému použití a bohatosti funkcí je PyQt5 bezkonkurenčním nástrojem pro vytváření vysoce kvalitních uživatelských grafických rozhraní v Pythonu.

Instalace PyQt5

Krok 1:Nainstalujte Python, pokud ještě není nainstalován ve vašem počítači. Instalační program Python si můžete stáhnout z oficiálních stránek Pythonu a postupujte podle pokynů k instalaci.
Krok 2:Otevřete příkazový řádek nebo terminál a nainstalujte PyQt5, spusťte následující příkaz:
pip install pyqt5
Krok 3:Počkejte na dokončení instalace PyQt5. Po instalaci můžete začít používat knihovnu PyQt5 k vytvoření grafického rozhraní aplikací.

Gratuluji! Nyní jste připraveni začít s PyQt5 a vytvořit čtverec pomocí této knihovny.

Importovat knihovnu a vytvářet grafickou aplikaci

Chcete-li nakreslit čtverec v Pythonu pomocí knihovny PyQt5, musíte importovat příslušné moduly. Nejprve musíte importovat samotnou knihovnu PyQt5:

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

Dále vytvoříme grafickou aplikaci, která bude obsahovat čtverec:

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

V tomto příkladu vytváříme třídu MainWindow, která se dědí ze třídy QMainWindow . V metodě _ _ init _ _ nastavíme záhlaví okna pomocí metody setWindowTitle, nastavíme rozměry okna pomocí metody setGeometry a zobrazíme okno pomocí metody show .

Nyní chcete-li vytvořit instanci grafické aplikace a spustit ji, přidejte následující kód:

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

Zde vytváříme instanci třídy QApplication, která je hlavním objektem pro práci s grafickými aplikacemi PyQt5. Poté vytvoříme instanci třídy MainWindow a provedeme hlavní cyklus aplikace pomocí metody exec_ .

Objekty QPainter a QRect

QPainter - je to třída, která poskytuje funkce pro kreslení na widgetu nebo jiném objektu, který zdědí třídu QWidget. Obsahuje různé metody pro vytváření a úpravu grafických objektů, jako jsou čtverce, čáry a elipsy.

QRect - je to třída, která představuje obdélník s určitými souřadnicemi a rozměry. Používá se k určení velikosti a umístění grafických prvků, jako jsou čtverce.

Chcete-li nakreslit čtverec pomocí objektů QPainter a QRect, budete muset vytvořit instanci třídy QPainter, určit barvu a tloušťku kreslicí čáry a poté vyvolat metodu drawRect tím, že mu předáte instanci třídy QRect.

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(já, událost): malíř = qpainter (já) malíř.setPen (QPen (QColor(255, 0, 0), 5)) rect = QRect (100, 100, 200, 200) malíř.drawRect(rect) if __name__ == '__main__': app = QApplication (sys.argv) window = QMainWindow () widget = mywidget (okno) okno.setCentralWidget (widget) okno.Zobrazit () sys.exit (app.exec_())

A to i přesto, že se jedná o jednu z hlavních rolí. Metoda paintEvent třídy MyWidget vytváří instanci třídy QPainter a přizpůsobuje barvu a tloušťku kreslicí čáry. Poté se vytvoří instance třídy QRect se souřadnicemi a velikostí čtverce a vyvolá se metoda drawRect, která nakreslí čtverec.

Tento kód lze v PyQt5 použít k vytvoření čtverce a dalších geometrických tvarů pomocí objektů QPainter a QRect.

Kreslení čtverce

Chcete-li začít kreslit čtverec, musíte nejprve importovat požadované moduly: PyQt5 a QPainter.

Poté vytvořte třídu, která se dědí ze třídy QWidget. V něm určete funkci, která bude zodpovědná za kreslení čtverce. V rámci této funkce vyvolejte metodu drawRect () třídy QPainter tím, že jí předáte souřadnice vrcholů čtverce.

Poté vytvořte instanci třídy okna a zobrazte ji na obrazovce. Nyní, když spustíte program, uvidíte nakreslený čtverec.

Pokud potřebujete změnit velikost nebo polohu čtverce, stačí změnit souřadnice vrcholů a znovu zavolat funkci kreslení.

Nyní, když víte, jak nakreslit čtverec v PyQt5 pomocí Pythonu, můžete tento přístup použít k kreslení jiných geometrických tvarů nebo k vytváření vlastních softwarových aplikací.

Spuštění aplikace a zobrazení čtverce

Pro začátek musíme do našeho projektu importovat potřebné moduly. Pro práci s grafickým rozhraním použijeme knihovnu PyQt5. Umožňuje vytvářet okna, tlačítka, textová pole a další prvky našeho rozhraní.

K vytvoření okna budeme potřebovat metodu QMainWindow () z modulu PyQt5.QtWidgets . Přidáme také možnost upravit rozměry okna a jeho záhlaví.

Dalším krokem je vytvoření čtverce. Použijeme objekt třídy QGraphicsScene (), který nám umožňuje zobrazovat grafické prvky na naší scéně. Čtverec vytvoříme také pomocí objektu třídy QGraphicsRectItem () a upravíme jeho barvu, rozměry a polohu.

Poté vytvoříme objekt třídy QGraphicsView (), který nám umožní zobrazit naši scénu. Nastavíme také jeho rozměry a přidáme naši scénu jako obsah.

Pro zobrazení okna a čtverce zavoláme metodu show() u našeho objektu okna.

Nyní, pokud spustíme naši aplikaci, uvidíme naše okno a nakreslený čtverec. Program bude probíhat, dokud nezavřeme okno.