博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
PyQt5之窗口绘图类控件QBrush
阅读量:3958 次
发布时间:2019-05-24

本文共 2078 字,大约阅读时间需要 6 分钟。

PyQt5之窗口绘图类控件QBrush

QBrush是一个基本的图形对象,用于填充如矩形、椭圆形或多边形等形状。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/

你可能感兴趣的文章