- PyQt5 Tutorial - 파이썬으로 만드는 나만의 GUI 프로그램
- 1. PyQt5 소개 (Introduction)
- 2. PyQt5 설치 (Installation)
- 3. PyQt5 기초 (Basics)
- 4. PyQt5 레이아웃 (Layout)
- 5. PyQt5 위젯 (Widget)
- QPushButton
- QLabel
- QCheckBox
- QRadioButton
- QComboBox
- QLineEdit
- QLineEdit (Advanced)
- QProgressBar
- QSlider & QDial
- QSplitter
- QGroupBox
- QTabWidget
- QTabWidget (Advanced)
- QPixmap
- QCalendarWidget
- QSpinBox
- QDoubleSpinBox
- QDateEdit
- QTimeEdit
- QDateTimeEdit
- QTextBrowser
- QTextBrowser (Advanced)
- QTextEdit
- QTableWidget
- QTableWidget (Advanced)
- 6. PyQt5 다이얼로그 (Dialog)
- 7. PyQt5 시그널과 슬롯 (Signal&Slot)
- 8. PyQt5 그림 그리기 (Updated)
- 9. PyQt5 실행파일 만들기 (PyInstaller)
- 10. PyQt5 프로그램 예제 (Updated)
- ▷ PDF ebook
- Python Tutorial
- NumPy Tutorial
- Matplotlib Tutorial
- PyQt5 Tutorial
- BeautifulSoup Tutorial
- xlrd/xlwt Tutorial
- Pillow Tutorial
- Googletrans Tutorial
- PyWin32 Tutorial
- PyAutoGUI Tutorial
- Pyperclip Tutorial
- TensorFlow Tutorial
- Tips and Examples
다각형 그리기 (drawPolygon)¶
drawPolygon()을 이용하면 다양한 다각형을 그릴 수 있습니다.
우선 PyQt5.QtCore의 QPoint 클래스를 이용해서 각 꼭지점을 나타내는 점을 정의하고,
QPolygon을 이용해서 각 점들로 형성되는 다각형을 형성합니다.
마지막으로 drawPolygon()에 이 다각형을 입력함으로써 다각형이 그려집니다.
예제¶
## Ex 8-5. 다각형 그리기 (drawPolygon).
import sys
from PyQt5.QtWidgets import QWidget, QApplication
from PyQt5.QtGui import QPainter, QPen, QColor, QBrush, QFont, QPolygon
from PyQt5.QtCore import Qt, QPoint
class MyApp(QWidget):
def __init__(self):
super().__init__()
self.initUI()
def initUI(self):
self.setGeometry(300, 300, 400, 300)
self.setWindowTitle('drawPolygon')
self.show()
def paintEvent(self, e):
qp = QPainter()
qp.begin(self)
self.draw_polygon(qp)
qp.end()
def draw_polygon(self, qp):
points1 = [
QPoint(20, 20),
QPoint(200, 80),
QPoint(150, 135),
QPoint(50, 115)
]
polygon1 = QPolygon(points1)
qp.setPen(QPen(Qt.black, 3))
qp.drawPolygon(polygon1)
points2 = [
QPoint(220, 30),
QPoint(360, 10),
QPoint(250, 135)
]
polygon2 = QPolygon(points2)
qp.setPen(QPen(Qt.red, 5, Qt.DashLine))
qp.setBrush(QBrush(Qt.yellow))
qp.drawPolygon(polygon2)
points3 = [
QPoint(95, 140),
QPoint(120, 190),
QPoint(185, 205),
QPoint(125, 230),
QPoint(140, 280),
QPoint(100, 230),
QPoint(70, 280),
QPoint(60, 220),
QPoint(15, 190),
QPoint(65, 180),
]
polygon3 = QPolygon(points3)
qp.setPen(QPen(QColor('#1C91CF'), 4, Qt.DashDotDotLine))
qp.setBrush(QBrush(QColor('#37CF1C'), Qt.CrossPattern))
qp.drawPolygon(polygon3)
points4 = [
QPoint(290, 160),
QPoint(360, 190),
QPoint(335, 280),
QPoint(255, 270),
QPoint(230, 195)
]
polygon4 = QPolygon(points4)
qp.setPen(QPen(QColor('#7B33D1'), 3))
qp.setBrush(QBrush(QColor('#D187EF')))
qp.drawPolygon(polygon4)
if __name__ == '__main__':
app = QApplication(sys.argv)
ex = MyApp()
sys.exit(app.exec_())
여러가지 모양과 스타일을 갖는 네 개의 다각형을 그렸습니다.
결과는 아래와 같습니다.
이전글/다음글
다음글 : 타원 그리기 (drawEllipse)