🖌️ Как нарисовать круг в QPainter Python: пошаговая инструкция для начинающих 🎨

Чтобы нарисовать круг в QPainter Python, вам потребуется использовать функцию drawEllipse(). Приведенный ниже код показывает, как это сделать:


from PyQt5.QtGui import QPainter, QPen, QColor
from PyQt5.QtCore import Qt
from PyQt5.QtWidgets import QApplication, QMainWindow

class MainWindow(QMainWindow):
    def __init__(self):
        super().__init__()
    
    def paintEvent(self, event):
        painter = QPainter(self)
        painter.setRenderHint(QPainter.Antialiasing)
        painter.setPen(QPen(QColor(0, 0, 0), 2, Qt.SolidLine))
        painter.drawEllipse(50, 50, 100, 100)

app = QApplication([])
window = MainWindow()
window.show()
app.exec_()
    

Детальный ответ

Как нарисовать круг в QPainter Python

Приветствую! В этой статье мы разберем, как нарисовать круг в PyQt с использованием класса QPainter.

Шаг 1: Создание окна и виджета

Перед тем, как начать рисовать на холсте, нам нужно создать окно и виджет для отображения нашего рисунка.


import sys
from PyQt5.QtWidgets import QApplication, QMainWindow, QWidget

app = QApplication(sys.argv)
window = QMainWindow()
widget = QWidget()
window.setCentralWidget(widget)
window.show()
sys.exit(app.exec_())
    

Шаг 2: Создание метода рисования

Теперь давайте создадим метод, который будет используется для рисования круга с помощью QPainter.


from PyQt5.QtGui import QPainter, QColor, QBrush

def draw_circle(qp):
    qp.setBrush(QBrush(QColor(255, 0, 0))) # Устанавливаем кисть на красный цвет
    qp.drawEllipse(100, 100, 200, 200) # Рисуем эллипс с координатами и размерами
    qp.end()

def paintEvent(event):
    qp = QPainter(widget)
    draw_circle(qp) # Вызываем метод рисования круга
    qp.end()
    

Шаг 3: Холст для рисования

Теперь давайте создадим виджет для холста рисования, на котором будем отображать наш круг. Мы используем метод paintEvent(), который вызывается каждый раз, когда необходимо перерисовать виджет.


widget = QWidget()

def paintEvent(event):
    qp = QPainter(widget)
    draw_circle(qp) # Вызываем метод рисования круга
    qp.end()

widget.resize(400, 400)
widget.show()
    

Шаг 4: Завершение приложения

Наконец, мы должны завершить приложение. Для этого добавим следующий код в конец нашего скрипта.


sys.exit(app.exec_())
    

Полный пример кода


import sys
from PyQt5.QtWidgets import QApplication, QMainWindow, QWidget
from PyQt5.QtGui import QPainter, QColor, QBrush

app = QApplication(sys.argv)
window = QMainWindow()
widget = QWidget()
window.setCentralWidget(widget)

def draw_circle(qp):
    qp.setBrush(QBrush(QColor(255, 0, 0))) # Устанавливаем кисть на красный цвет
    qp.drawEllipse(100, 100, 200, 200) # Рисуем эллипс с координатами и размерами
    qp.end()

def paintEvent(event):
    qp = QPainter(widget)
    draw_circle(qp) # Вызываем метод рисования круга
    qp.end()

widget.resize(400, 400)
widget.show()

sys.exit(app.exec_())
    

Поздравляю! Вы только что научились рисовать круг в PyQt с использованием QPainter. Теперь вы можете изменять координаты и размеры, чтобы создавать различные формы и рисунки на холсте.

Не забудьте экспериментировать с кодом и добавлять свои улучшения и изменения. Удачи вам!

Видео по теме

Как начертить круг на python? #python #питон #программирование

КАК НАРИСОВАТЬ КРУГ В ПИТОНЕ! #pythonprogramming #pythontutorial #python

Урок 56 - Базовые принципы рисования QPainter

Похожие статьи:

🔢 Как пронумеровать массив Python: простое руководство для начинающих!

🔧Как обновить интерпретатор Python на Windows

📥 Как скачать Python на Termux: пошаговая инструкция с примерами 🐍

🖌️ Как нарисовать круг в QPainter Python: пошаговая инструкция для начинающих 🎨

🔍 Как использовать elif в Python? Найдите простые примеры и объяснения

💻 Как написать натуральный логарифм в Питоне: простое руководство для начинающих

Что такое сетчатый питон? 🐍 Руководство для начинающих о сетчатых питонах.