本文共 2078 字,大约阅读时间需要 6 分钟。
QBrush是一个基本的图形对象,用于填充如矩形、椭圆形或多边形等形状。QBrush有三种类型:预定义、过渡和纹理图案。
import sys,mathfrom PyQt5.QtWidgets import *from PyQt5.QtGui import *from PyQt5.QtCore import *class Win(QWidget): def __init__(self): super().__init__() self.setGeometry(300, 300,400, 380) self.setWindowTitle('QBrush的使用') def paintEvent(self, event): painter = QPainter() painter.begin(self) #自定义绘制方法 self.drawRects(painter) painter.end() def drawRects(self,painter): brush = QBrush(Qt.SolidPattern) painter.setBrush(brush) painter.drawRect(10,15,90,60) brush = QBrush(Qt.Dense1Pattern) painter.setBrush(brush) painter.drawRect(130, 15, 90, 60) brush = QBrush(Qt.Dense2Pattern) painter.setBrush(brush) painter.drawRect(250, 15, 90, 60) brush = QBrush(Qt.Dense3Pattern) painter.setBrush(brush) painter.drawRect(10, 105, 90, 60) brush = QBrush(Qt.Dense4Pattern) painter.setBrush(brush) painter.drawRect(130, 105, 90, 60) brush = QBrush(Qt.Dense5Pattern) painter.setBrush(brush) painter.drawRect(250, 105, 90, 60) brush = QBrush(Qt.Dense6Pattern) painter.setBrush(brush) painter.drawRect(10, 195, 90, 60) brush = QBrush(Qt.Dense7Pattern) painter.setBrush(brush) painter.drawRect(130, 195, 90, 60) brush = QBrush(Qt.HorPattern) painter.setBrush(brush) painter.drawRect(250, 195, 90, 60) brush = QBrush(Qt.VerPattern) painter.setBrush(brush) painter.drawRect(10, 285, 90, 60) brush = QBrush(Qt.BDiagPattern) painter.setBrush(brush) painter.drawRect(130, 285, 90, 60) brush = QBrush(Qt.DiagCrossPattern) painter.setBrush(brush) painter.drawRect(250, 285, 90, 60)if __name__ == "__main__": app = QApplication(sys.argv) form = Win() form.show() sys.exit(app.exec_())
代码分析:在这个例子中,在窗口绘制出12种不同背景填充的矩形。定义QBrush对象,然后将QBrush对象的画刷设置成QBrush对象,并通过调用drawRect()
方法绘制矩形。
运行效果如下:
转载地址:http://mvozi.baihongyu.com/