PyQt5中QPainter类QBrush画刷使用大全
画刷QBrush样式和值:
NoBrush = 0 # type: 'Qt.BrushStyle' 无图案
SolidPattern = 1 # type: 'Qt.BrushStyle' 实心图案
Dense1Pattern = 2 # type: 'Qt.BrushStyle' 密实图案1
Dense2Pattern = 3 # type: 'Qt.BrushStyle' 密实图案2
Dense3Pattern = 4 # type: 'Qt.BrushStyle' 密实图案3
Dense4Pattern = 5 # type: 'Qt.BrushStyle' 密实图案4
Dense5Pattern = 6 # type: 'Qt.BrushStyle' 密实图案5
Dense6Pattern = 7 # type: 'Qt.BrushStyle' 密实图案6
Dense7Pattern = 8 # type: 'Qt.BrushStyle' 密实图案7
HorPattern = 9 # type: 'Qt.BrushStyle' 水平线图案
VerPattern = 10 # type: 'Qt.BrushStyle' 垂直线图案
CrossPattern = 11 # type: 'Qt.BrushStyle' 十字线图案
BDiagPattern = 12 # type: 'Qt.BrushStyle' 左斜线图案
FDiagPattern = 13 # type: 'Qt.BrushStyle' 右倾线图案
DiagCrossPattern = 14 # type: 'Qt.BrushStyle' 倾斜十字线图案
LinearGradientPattern = 15 # type: 'Qt.BrushStyle' 线性渐变图案
RadialGradientPattern = 16 # type: 'Qt.BrushStyle' 径向渐变图案
ConicalGradientPattern = 17 # type: 'Qt.BrushStyle' 圆锥渐变图案
TexturePattern = 24 # type: 'Qt.BrushStyle' 纹理图案
画刷种类有19种.画刷需在paintEvent(self, e)中使用,初始化代码如下:
import sys
from PyQt5.QtWidgets import *
from PyQt5.QtGui import *
from PyQt5.QtCore import *
class FillRect(QWidget):
def __init__(self):
super(FillRect, self).__init__()
self.resize(930, 400)
self.setWindowTitle('用画刷填充区域')
def paintEvent(self, e):
self.qp = QPainter()
self.qp.begin(self)
画刷QBrush的构造函数:
QBrush()
QBrush(Qt.BrushStyle)
QBrush(Union[QColor, Qt.GlobalColor, QGradient], style: Qt.BrushStyle = Qt.SolidPattern)
QBrush(Union[QColor, Qt.GlobalColor, QGradient], QPixmap)
QBrush(QPixmap)
QBrush(QImage)
QBrush(Union[QBrush, QColor, Qt.GlobalColor, QGradient])
QBrush(Any)
画刷QBrush常用函数:
1.设置颜色
setColor(self, Union[QColor, Qt.GlobalColor, QGradient])
setColor(self, Qt.GlobalColor)
2.设置样式
setStyle(self, Qt.BrushStyle)
3.设置纹理图案
setTexture(self, QPixmap)
setTextureImage(self, QImage)
3.设置变换矩阵
setTransform(self, QTransform)
实例:
实例效果:
源码:QBrush画刷使用源码