타원 그리기 (drawEllipse)

drawEllipse()는 타원을 그리는데 사용합니다.

drawRect()와 마찬가지로 drawEllipse()에 x, y, width, height의 순서로 숫자를 입력해줍니다.

아래 그림을 참고하세요.

../_images/8_6_draw_ellipse_intro.png

예제

## Ex 8-6. 타원 그리기 (drawEllipse).

import sys
from PyQt5.QtWidgets import QWidget, QApplication
from PyQt5.QtGui import QPainter, QPen, QColor, QBrush
from PyQt5.QtCore import Qt


class MyApp(QWidget):

    def __init__(self):
        super().__init__()
        self.initUI()

    def initUI(self):
        self.setGeometry(300, 300, 400, 300)
        self.setWindowTitle('drawEllipse')
        self.show()

    def paintEvent(self, e):
        qp = QPainter()
        qp.begin(self)
        self.draw_ellipse(qp)
        qp.end()

    def draw_ellipse(self, qp):

        qp.setPen(QPen(Qt.black, 3))
        qp.drawEllipse(40, 20, 80, 100)

        qp.setPen(QPen(Qt.green, 5, Qt.DashLine))
        qp.setBrush(QBrush(Qt.yellow, Qt.SolidPattern))
        qp.drawEllipse(200, 20, 120, 40)

        qp.setPen(QPen(Qt.blue, 2, Qt.DotLine))
        qp.setBrush((QBrush(Qt.CrossPattern)))
        qp.drawEllipse(70, 140, 180, 120)

        qp.setPen(QPen(Qt.red, 2, Qt.DashDotDotLine))
        qp.setBrush((QBrush(Qt.blue, Qt.FDiagPattern)))
        qp.drawEllipse(290, 100, 80, 120)


if __name__ == '__main__':
    app = QApplication(sys.argv)
    ex = MyApp()
    sys.exit(app.exec_())

다양한 크기와 스타일의 타원을 그렸습니다.

결과는 아래와 같습니다


../_images/8_6_draw_ellipse_01.png

그림 8-6. 타원 그리기.



이전글/다음글