1. 코드

import sys

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

class 선그리기(QWidget):

    def __init__(self):
        super().__init__()
        self.UI초기화()

    def UI초기화(self):
        self.setGeometry(300, 300, 500, 500)
        self.setWindowTitle('QPainter!')
        self.show()

    def paintEvent(self, event):
        paint = QPainter()
        paint.begin(self)
        self.drawLine(paint)
        paint.end()

    def drawLine(self, paint):
        pen = QPen(Qt.blue, 4, Qt.SolidLine)
        paint.setPen(pen)
        paint.drawLine(100, 40, 400, 40)

        pen.setStyle(Qt.DashLine)
        pen.setColor(Qt.yellow)
        paint.setPen(pen)
        paint.drawLine(100, 80, 400, 80)

        pen.setStyle(Qt.DashDotLine)
        pen.setColor(Qt.red)
        paint.setPen(pen)
        paint.drawLine(100, 120, 400, 120)

        pen.setStyle(Qt.DashDotDotLine)
        pen.setColor(Qt.darkMagenta)
        paint.setPen(pen)
        paint.drawLine(100, 160, 400, 160)

        pen.setStyle(Qt.DotLine)
        pen.setColor(Qt.darkGreen)
        paint.setPen(pen)
        paint.drawLine(100, 200, 400, 200)

        pen.setStyle(Qt.CustomDashLine)
        pen.setDashPattern([4, 4, 5, 4])
        pen.setColor(Qt.darkGray)
        pen.setWidth(8)
        paint.setPen(pen)
        paint.drawLine(100, 240, 400, 240)

프로그램무한반복 = QApplication(sys.argv)
실행인스턴스 = 선그리기()
프로그램무한반복.exec_()

2. 상세 내용

바로 위 챕터와 거의 유사한 내용입니다. 여기서는 QPen을 이용하여 선을 그려봅니다. 위에 챕터를 보시지 않으시고 바로 챕터로 들어오시는 분들을 위해 중복되는 내용이라도 아래 설명에 넣어놓도록 하겠습니다.

HTML Color Codes

QColor - Qt for Python

QFont - Qt for Python

QPen - Qt for Python

3. 실행 화면

https://s3-us-west-2.amazonaws.com/secure.notion-static.com/69e81d1b-6ada-4249-8cfe-5f036d9d2fc4/Untitled.png