77 lines
1.5 KiB
Python
77 lines
1.5 KiB
Python
# -*- coding: utf-8 -*-
|
||
|
||
"""
|
||
【簡介】
|
||
繪圖中QBrush的範例,繪圖九種不同樣式的矩形。
|
||
|
||
|
||
"""
|
||
|
||
import sys
|
||
from PyQt5.QtWidgets import *
|
||
from PyQt5.QtGui import *
|
||
from PyQt5.QtCore import Qt
|
||
|
||
class Drawing(QWidget):
|
||
def __init__(self):
|
||
super().__init__()
|
||
self.initUI()
|
||
|
||
def initUI(self):
|
||
self.setGeometry(300, 300, 365, 280)
|
||
self.setWindowTitle('筆刷範例')
|
||
self.show()
|
||
|
||
def paintEvent(self, e):
|
||
qp = QPainter()
|
||
qp.begin(self)
|
||
self.drawLines(qp)
|
||
qp.end()
|
||
|
||
def drawLines(self, qp):
|
||
brush = QBrush(Qt.SolidPattern)
|
||
qp.setBrush(brush)
|
||
qp.drawRect(10, 15, 90, 60)
|
||
|
||
brush = QBrush(Qt.Dense1Pattern)
|
||
qp.setBrush(brush)
|
||
qp.drawRect(130, 15, 90, 60)
|
||
|
||
brush = QBrush(Qt.Dense2Pattern)
|
||
qp.setBrush(brush)
|
||
qp.drawRect(250, 15, 90, 60)
|
||
|
||
brush = QBrush(Qt.Dense3Pattern)
|
||
qp.setBrush(brush)
|
||
qp.drawRect(10, 105, 90, 60)
|
||
|
||
brush = QBrush(Qt.DiagCrossPattern)
|
||
qp.setBrush(brush)
|
||
qp.drawRect(10, 105, 90, 60)
|
||
|
||
brush = QBrush(Qt.Dense5Pattern)
|
||
qp.setBrush(brush)
|
||
qp.drawRect(130, 105, 90, 60)
|
||
|
||
brush = QBrush(Qt.Dense6Pattern)
|
||
qp.setBrush(brush)
|
||
qp.drawRect(250, 105, 90, 60)
|
||
|
||
brush = QBrush(Qt.HorPattern)
|
||
qp.setBrush(brush)
|
||
qp.drawRect(10, 195, 90, 60)
|
||
|
||
brush = QBrush(Qt.VerPattern)
|
||
qp.setBrush(brush)
|
||
qp.drawRect(130, 195, 90, 60)
|
||
|
||
brush = QBrush(Qt.BDiagPattern)
|
||
qp.setBrush(brush)
|
||
qp.drawRect(250, 195, 90, 60)
|
||
|
||
if __name__ == '__main__':
|
||
app = QApplication(sys.argv)
|
||
demo = Drawing()
|
||
demo.show()
|
||
sys.exit(app.exec_())
|