🍊

002 QPainter, QPen (선 그리기)

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을 이용하여 선을 그려봅니다. 위에 챕터를 보시지 않으시고 바로 챕터로 들어오시는 분들을 위해 중복되는 내용이라도 아래 설명에 넣어놓도록 하겠습니다.
  • QPainter : 그림판 같은 역할을 하는 모듈입니다.
  • QColor : Color와 관련된 모듈입니다. 0부터 255 값으로 된 RGB 값으로 줄 수도 있고, color name으로도 줄 수 있으며, hex값으로도 줄 수 있습니다. color에 대한 기본적인 개념을 잡고 싶으신 분은 아래 문서를 참고하세요.
  • QFont : 폰트와 같은 설정을 할 수 있습니다. 굵기와 폰트 스타일 등을 지정할 수 있습니다. 상세 설정은 공식문서를 참고바랍니다.
  • QPen : 그림판의 펜과 같은 역할을 합니다.

3. 실행 화면

notion imagenotion image