HomeAboutMeBlogGuest
© 2025 Sejin Cha. All rights reserved.
Built with Next.js, deployed on Vercel
📟
PyQt 5 Lecture
/
🍊
002 QPainter, QPen (선 그리기)
🍊

002 QPainter, QPen (선 그리기)

1. 코드2. 상세 내용3. 실행 화면

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에 대한 기본적인 개념을 잡고 싶으신 분은 아래 문서를 참고하세요.
HTML Color Codes
Find that perfect color with our color picker and discover beautiful color harmonies, tints, shades and tones; input Hex color codes, RGB and HSL values, and generate HTML, CSS and SCSS styles. Looking for some already great color combinations?
HTML Color Codes
https://htmlcolorcodes.com/
HTML Color Codes
QColor - Qt for Python
A color is normally specified in terms of RGB (red, green, and blue) components, but it is also possible to specify it in terms of HSV (hue, saturation, and value) and CMYK (cyan, magenta, yellow and black) components. In addition a color can be specified using a color name.
QColor - Qt for Python
https://doc.qt.io/qtforpython/PySide2/QtGui/QColor.html
QColor - Qt for Python
  • QFont : 폰트와 같은 설정을 할 수 있습니다. 굵기와 폰트 스타일 등을 지정할 수 있습니다. 상세 설정은 공식문서를 참고바랍니다.
QFont - Qt for Python
When you create a object you specify various attributes that you want the font to have. Qt will use the font with the specified attributes, or if no matching font exists, Qt will use the closest matching installed font. The attributes of the font that is actually used are retrievable from a object.
QFont - Qt for Python
https://doc.qt.io/qtforpython/PySide2/QtGui/QFont.html
  • QPen : 그림판의 펜과 같은 역할을 합니다.
QPen - Qt for Python
The pen style defines the line type. The brush is used to fill strokes generated with the pen. Use the class to specify fill styles. The cap style determines the line end caps that can be drawn using , while the join style describes how joins between two lines are drawn.
QPen - Qt for Python
https://doc.qt.io/qtforpython/PySide2/QtGui/QPen.html
QPen - Qt for Python

3. 실행 화면

notion image