PySide6.QtGui.QBrush¶
- class 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()def
textureImage()def
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()函数来获取和修改。gradient()定义了当当前样式为 Qt::LinearGradientPattern、Qt::RadialGradientPattern 或 Qt::ConicalGradientPattern 时使用的渐变填充。渐变画笔是通过在创建QBrush时提供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。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__()¶
构造一个默认的黑色画笔,样式为Qt::NoBrush(即此画笔不会填充形状)。
- __init__(bs)
- Parameters:
bs –
BrushStyle
使用给定的
style构造一个黑色画笔。另请参阅
- __init__(brush)
- Parameters:
画笔 –
QBrush
构造
other的副本。- __init__(gradient)
- Parameters:
渐变 –
QGradient
基于给定的
gradient构建一个画笔。笔刷样式设置为相应的渐变样式(可以是Qt::LinearGradientPattern、Qt::RadialGradientPattern或Qt::ConicalGradientPattern)。
- __init__(image)
- Parameters:
图像 –
QImage
使用黑色和设置为给定
image的纹理构造一个画笔。样式设置为Qt::TexturePattern。另请参阅
- __init__(pixmap)
- Parameters:
pixmap –
QPixmap
使用黑色和设置为给定
pixmap的纹理构造一个画笔。样式设置为Qt::TexturePattern。另请参阅
- __init__(color[, bs=Qt.SolidPattern])
- Parameters:
颜色 –
GlobalColorbs –
BrushStyle
使用给定的
color和style构造一个画笔。另请参阅
- __init__(color, pixmap)
- Parameters:
color –
GlobalColorpixmap –
QPixmap
使用给定的
color和存储在pixmap中的自定义图案构造一个画笔。样式设置为Qt::TexturePattern。颜色仅对QBitmaps有效。
另请参阅
- __init__(color[, bs=Qt.SolidPattern])
- Parameters:
颜色 –
QColorbs –
BrushStyle
使用给定的
color和style构造一个画笔。另请参阅
使用给定的
color和存储在pixmap中的自定义图案构造一个画笔。样式设置为Qt::TexturePattern。颜色仅对QBitmaps有效。
另请参阅
返回画笔颜色。
另请参阅
返回描述此画笔的渐变。
- isOpaque()¶
- Return type:
布尔
如果画笔完全不透明则返回
true,否则返回 false。如果满足以下条件,画笔被视为不透明:color()的 alpha 分量为 255。gradient()中的所有颜色都具有一个 alpha 分量为 255。这是一个扩展的径向渐变。
如果画笔与给定的
brush不同,则返回true;否则返回false。如果两个画笔具有不同的样式、颜色或变换,或者根据样式具有不同的位图或渐变,则它们是不同的。
另请参阅
operator==()如果画笔等于给定的
brush,则返回true;否则返回false。如果两个画笔具有相同的样式、颜色和变换,并且根据样式具有相同的像素图或渐变,则它们是相等的。
另请参阅
operator!=()- setColor(color)¶
- Parameters:
颜色 –
GlobalColor
这是一个重载函数。
将画笔颜色设置为给定的
color。- setColor(color)
- Parameters:
颜色 –
QColor
将画笔颜色设置为给定的
color。请注意,如果样式是渐变,调用 setColor() 将不会产生任何效果。如果样式是 Qt::TexturePattern 样式,除非当前纹理是
QBitmap,否则情况也是如此。另请参阅
- setStyle(style)¶
- Parameters:
样式 –
BrushStyle
将画笔样式设置为
style。另请参阅
将画笔的像素图设置为
pixmap。样式设置为 Qt::TexturePattern。当前的画笔颜色仅对单色像素图有效,即对于
depth()== 1(QBitmaps)。另请参阅
将画笔图像设置为
image。样式设置为 Qt::TexturePattern。请注意,当前的画笔颜色不会对单色图像产生任何影响,这与使用
QBitmap调用setTexture()不同。如果你想更改单色图像画笔的颜色,可以使用QBitmap::fromImage()将图像转换为QBitmap并将生成的QBitmap设置为纹理,或者更改图像颜色表中的条目。- setTransform(matrix)¶
- Parameters:
矩阵 –
QTransform
将
matrix设置为当前画笔上的显式变换矩阵。画笔变换矩阵与QPainter变换矩阵合并以产生最终结果。另请参阅
- style()¶
- Return type:
返回画笔样式。
另请参阅
将此画笔与
other画笔交换。此操作非常快速且永远不会失败。返回自定义的画笔图案,如果未设置自定义画笔图案,则返回空像素图。
另请参阅
返回自定义画笔图案,如果未设置自定义画笔图案,则返回空图像。
另请参阅
- transform()¶
- Return type:
返回画笔的当前变换矩阵。
另请参阅