- 类 QBrush#
QBrush
类定义了QPainter
用来填充形状的填充模式。更多...摘要#
方法#
def
__init__()
def
color()
def
gradient()
def
isOpaque()
def
__ne__()
def
__eq__()
def
setColor()
def
setStyle()
def
setTexture()
def
setTransform()
def
style()
def
swap()
def
texture()
定义
transform()
注:
本文档可能包含自动从C++转换到Python的代码片段。我们始终欢迎对此片段翻译的贡献。如果您发现翻译问题,也可以通过在https:/bugreports.qt.io/projects/PYSIDE上创建工单来告诉我们。
详细说明#
警告:
本节包含自动从C++转换到Python的代码片段,可能包含错误。
画笔具有样式、颜色、渐变和纹理。
style()
定义了填充模式,使用Qt::BrushStyle枚举。默认画笔样式为Qt::NoBrush(取决于如何构建画笔)。此样式告诉绘图器不要填充形状。填充的标准样式是Qt::SolidPattern。可以通过适当的构造函数创建画笔时设置样式,并且使用setStyle()
函数在画笔创建后更改样式。color()
定义了填充模式的颜色。颜色可以是Qt预定义的颜色之一,Qt::GlobalColor,或者是其他自定义的QColor
。可以通过使用color()
和setColor()
函数分别在写入和更改时检索和更改当前设置的color。gradient()
定义了当当前样式为Qt::LinearGradientPattern、Qt::RadialGradientPattern或Qt::ConicalGradientPattern时使用的渐变填充。通过在创建QBrush
时将[a class="reference internal" href="QGradient.html#PySide6.QtGui.QGradient" title="PySide6.QtGui.QGradient">QGradient
作为构造函数参数创建渐变画笔。Qt提供三种不同类型的渐变:QLinearGradient
、QConicalGradient
和QRadialGradient
- 所有这些都是QGradient
的子类。gradient = QRadialGradient(50, 50, 50, 50, 50) gradient.setColorAt(0, QColor.fromRgbF(0, 1, 0, 1)) gradient.setColorAt(1, QColor.fromRgbF(0, 0, 0, 0)) brush = QBrush(gradient)
函数
texture()
定义了当当前样式为 Qt::TexturePattern 时使用的位图。您可以通过在创建画刷时提供位图或使用setTexture()
方法来创建具有纹理的画刷。请注意,使用
setTexture()
方法将使得style()
== Qt::TexturePattern,而不考虑之前的样式设置。此外,如果样式是渐变,则调用setColor()
也不会产生差异。如果样式是 Qt::TexturePattern 样式,除非当前纹理是QBitmap
,情况也是一样。函数
isOpaque()
在画刷完全不透明时返回true
,否则返回false
。一个画刷被认为是不透明的,如果color()
的 alpha 分量是 255。它的
texture()
没有 alpha 通道,并且不是QBitmap
。gradient()
中的所有颜色都具有 alpha 分量为 255。
线条轮廓
要指定线条和轮廓的样式和颜色,请使用 QPainter 的
pen
与 Qt::PenStyle 和 Qt::GlobalColor 结合。painter = QPainter(self) painter.setBrush(Qt.cyan) painter.setPen(Qt.darkCyan) painter.drawRect(0, 0, 100,100) painter.setBrush(Qt.NoBrush) painter.setPen(Qt.darkGreen) painter.drawRect(40, 40, 100, 100)
请注意,默认情况下,QPainter 绘制形状时使用当前设置的笔绘制轮廓(使用当前的笔)。使用
painter.setPen(Qt::NoPen)
来禁用此行为。有关绘画的一般信息,请参阅 Paint System。
- __init__(bs)#
- 参数:
bs –
BrushStyle
使用给定的
style
构造一个黑色画笔。另请参阅
- __init__(color[, bs=Qt.SolidPattern])
- 参数:
color –
GlobalColor
bs –
BrushStyle
使用给定的
color
和style
构造一个画笔。另请参阅
- __init__(color, pixmap)
- 参数:
color –
GlobalColor
pixmap –
QPixmap
使用给定的
color
和存储在pixmap
中的自定义图案构造一个画笔。样式设置为 Qt::TexturePattern。颜色仅在 QBitmaps 中有效。
另请参阅
- __init__(brush)
- 参数:
brush –
QBrush
构造其它
brush
的副本。- __init__(color[, bs=Qt.SolidPattern])
- 参数:
color –
QColor
bs –
BrushStyle
使用给定的
color
和style
构造一个画笔。另请参阅
使用给定的
color
和存储在pixmap
中的自定义图案构造一个画笔。样式设置为 Qt::TexturePattern。颜色仅在 QBitmaps 中有效。
另请参阅
- __init__(gradient)
- 参数:
gradient –
QGradient
基于给定的
gradient
构造一个画笔。画笔样式设置为对应的渐变样式(Qt::LinearGradientPattern、Qt::RadialGradientPattern 或 Qt::ConicalGradientPattern)。
- __init__(image)
- 参数:
image –
QImage
构造一个具有黑色颜色并设置为给定
image
的纹理的画笔。样式设置为 Qt::TexturePattern。另请参阅
- __init__(pixmap)
- 参数:
pixmap –
QPixmap
构造一个具有黑色颜色并设置为给定
pixmap
的纹理的画笔。样式设置为 Qt::TexturePattern。另请参阅
- __init__()
使用Qt::NoBrush(即此画笔将不会填充形状)样式构建默认黑色画笔。
- color
- 返回类型:
返回画笔颜色。
另请参阅
- gradient
- 返回类型:
返回描述此画笔的渐变。
- isOpaque
- 返回类型:
bool
如果画笔完全不透明,返回true,否则返回false。如果一个画笔是扩展的径向渐变,则被视为不透明。
color()
的 alpha 分量是 255。它的
texture()
没有 alpha 通道,并且不是QBitmap
。gradient()
中的所有颜色都具有 alpha 分量为 255。它是扩展的径向渐变。
- __ne__
- 参数:
b –
QBrush
- 返回类型:
bool
如果画笔与给定的
brush
不同,则返回true;否则返回false。如果画笔具有不同的样式、颜色或转换,或者根据样式具有不同的位图或渐变,则被认为不同。
另请参阅
operator==()
- __eq__
- 参数:
b –
QBrush
- 返回类型:
bool
如果画笔与给定的
brush
相等,则返回true;否则返回false。如果两个画笔具有相同的样式、颜色和转换,并且具有相同的位图或渐变(根据样式),则它们相等。
另请参阅
operator!=()
- setColor
- 参数:
color –
GlobalColor
这是一个重载函数。
将画笔颜色设置为给定的
color
。- setColor
- 参数:
color –
QColor
将画笔颜色设置为给定的
color
。请注意,如果样式是渐变,则调用setColor()不会产生任何区别。同样,如果样式是Qt::TexturePattern样式,除非当前纹理是
QBitmap
,否则也是如此。另请参阅
- setStyle
- 参数:
arg__1 –
BrushStyle
将画笔样式设置为
style
。另请参阅
- setTexture
- 参数:
pixmap –
QPixmap
将画笔位图设置为
pixmap
。样式设置为Qt::TexturePattern。当前画笔颜色只对单色位图生效,即
depth()
== 1 时(QBitmaps
)。另请参阅
将画笔图像设置为
image
。样式设置为 Qt::TexturePattern。请注意,当前画笔颜色对单色图像不起作用,与调用带有
QBitmap
的函数setTexture()
不同。如果您想改变单色画笔的图像颜色,可以通过使用QBitmap::fromImage()
将图像转换为QBitmap
并将其作为纹理设置,或者更改图像的颜色表中的条目。- setTransform(arg__1)#
- 参数:
arg__1 –
QTransform
将
matrix
设置为当前画笔的一个显式变换矩阵。画笔变换矩阵与QPainter
变换矩阵合并,以生成最终结果。另请参阅
- style()#
- 返回类型:
返回画笔样式。
另请参阅
交换画笔
other
与当前画笔。此操作非常快且永远不会失败。返回自定义画笔模式,如果没有设置自定义画笔模式,则返回空位图。
另请参阅
返回自定义画笔模式,如果没有设置自定义画笔模式,则返回空图像。
如果纹理被设置为
QPixmap
,它将被转换为一个QImage
。另请参阅
- transform()#
- 返回类型:
返回画刷当前的变换矩阵。
另请参阅