QBrush¶
The QBrush
class defines the fill pattern of shapes drawn by QPainter
. More…
Synopsis¶
Functions¶
def
__eq__
(b)def
__ne__
(b)def
color
()def
gradient
()def
isOpaque
()def
setColor
(color)def
setColor
(color)def
setStyle
(arg__1)def
setTexture
(pixmap)def
setTextureImage
(image)def
setTransform
(arg__1)def
style
()def
swap
(other)def
texture
()def
textureImage
()def
transform
()
Detailed Description¶
A brush has a style, a color, a gradient and a texture.
The brush style()
defines the fill pattern using the BrushStyle
enum. The default brush style is NoBrush
(depending on how you construct a brush). This style tells the painter to not fill shapes. The standard style for filling is SolidPattern
. The style can be set when the brush is created using the appropriate constructor, and in addition the setStyle()
function provides means for altering the style once the brush is constructed.
The brush color()
defines the color of the fill pattern. The color can either be one of Qt’s predefined colors, GlobalColor
, or any other custom QColor
. The currently set color can be retrieved and altered using the color()
and setColor()
functions, respectively.
The gradient()
defines the gradient fill used when the current style is either LinearGradientPattern
, RadialGradientPattern
or ConicalGradientPattern
. Gradient brushes are created by giving a QGradient
as a constructor argument when creating the QBrush
. Qt provides three different gradients: QLinearGradient
, QConicalGradient
, and QRadialGradient
- all of which inherit 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)
The texture()
defines the pixmap used when the current style is TexturePattern
. You can create a brush with a texture by providing the pixmap when the brush is created or by using setTexture()
.
Note that applying setTexture()
makes style()
== TexturePattern
, regardless of previous style settings. Also, calling setColor()
will not make a difference if the style is a gradient. The same is the case if the style is TexturePattern
style unless the current texture is a QBitmap
.
The isOpaque()
function returns true
if the brush is fully opaque otherwise false. A brush is considered opaque if:
The alpha component of the
color()
is 255.Its
texture()
does not have an alpha channel and is not aQBitmap
.The colors in the
gradient()
all have an alpha component that is 255.
To specify the style and color of lines and outlines, use the
QPainter
‘spen
combined withPenStyle
andGlobalColor
: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)Note that, by default,
QPainter
renders the outline (using the currently set pen) when drawing shapes. Usepainter.setPen(Qt::NoPen)
:attr:` <Qt.PenStyle>` to disable this behavior.
For more information about painting in general, see the Paint System .
- class PySide6.QtGui.QBrush¶
PySide6.QtGui.QBrush(bs)
PySide6.QtGui.QBrush(color[, bs=Qt.SolidPattern])
PySide6.QtGui.QBrush(color, pixmap)
PySide6.QtGui.QBrush(brush)
PySide6.QtGui.QBrush(color[, bs=Qt.SolidPattern])
PySide6.QtGui.QBrush(color, pixmap)
PySide6.QtGui.QBrush(gradient)
PySide6.QtGui.QBrush(image)
PySide6.QtGui.QBrush(pixmap)
- Parameters
brush –
PySide6.QtGui.QBrush
gradient –
PySide6.QtGui.QGradient
image –
PySide6.QtGui.QImage
bs –
BrushStyle
pixmap –
PySide6.QtGui.QPixmap
color –
GlobalColor
Constructs a default black brush with the style NoBrush
(i.e. this brush will not fill shapes).
Constructs a black brush with the given style
.
See also
Constructs a brush with the given color
and style
.
See also
Constructs a brush with the given color
and the custom pattern stored in pixmap
.
The style is set to TexturePattern
. The color will only have an effect for QBitmaps.
See also
Constructs a copy of other
.
Constructs a brush with the given color
and style
.
See also
Constructs a brush with the given color
and the custom pattern stored in pixmap
.
The style is set to TexturePattern
. The color will only have an effect for QBitmaps.
See also
Constructs a brush based on the given gradient
.
The brush style is set to the corresponding gradient style (either LinearGradientPattern
, RadialGradientPattern
or ConicalGradientPattern
).
Constructs a brush with a black color and a texture set to the given image
. The style is set to TexturePattern
.
See also
Constructs a brush with a black color and a texture set to the given pixmap
. The style is set to TexturePattern
.
See also
- PySide6.QtGui.QBrush.color()¶
- Return type
Returns the brush color.
See also
- PySide6.QtGui.QBrush.gradient()¶
- Return type
Returns the gradient describing this brush.
- PySide6.QtGui.QBrush.isOpaque()¶
- Return type
bool
Returns true
if the brush is fully opaque otherwise false. A brush is considered opaque if:
The alpha component of the
color()
is 255.Its
texture()
does not have an alpha channel and is not aQBitmap
.The colors in the
gradient()
all have an alpha component that is 255.It is an extended radial gradient.
- PySide6.QtGui.QBrush.__ne__(b)¶
- Parameters
- Return type
bool
Returns true
if the brush is different from the given brush
; otherwise returns false
.
Two brushes are different if they have different styles, colors or transforms or different pixmaps or gradients depending on the style.
See also
operator==()
- PySide6.QtGui.QBrush.__eq__(b)¶
- Parameters
- Return type
bool
Returns true
if the brush is equal to the given brush
; otherwise returns false
.
Two brushes are equal if they have equal styles, colors and transforms and equal pixmaps or gradients depending on the style.
See also
operator!=()
- PySide6.QtGui.QBrush.setColor(color)¶
- Parameters
color –
GlobalColor
This is an overloaded function.
Sets the brush color to the given color
.
- PySide6.QtGui.QBrush.setColor(color)
- Parameters
color –
PySide6.QtGui.QColor
Sets the brush color to the given color
.
Note that calling will not make a difference if the style is a gradient. The same is the case if the style is TexturePattern
style unless the current texture is a QBitmap
.
See also
- PySide6.QtGui.QBrush.setStyle(arg__1)¶
- Parameters
arg__1 –
BrushStyle
Sets the brush style to style
.
See also
- PySide6.QtGui.QBrush.setTexture(pixmap)¶
- Parameters
pixmap –
PySide6.QtGui.QPixmap
Sets the brush pixmap to pixmap
. The style is set to TexturePattern
.
The current brush color will only have an effect for monochrome pixmaps, i.e. for depth()
== 1 ( QBitmaps
).
See also
- PySide6.QtGui.QBrush.setTextureImage(image)¶
- Parameters
image –
PySide6.QtGui.QImage
Sets the brush image to image
. The style is set to TexturePattern
.
Note the current brush color will not have any affect on monochrome images, as opposed to calling setTexture()
with a QBitmap
. If you want to change the color of monochrome image brushes, either convert the image to QBitmap
with QBitmap::fromImage()
and set the resulting QBitmap
as a texture, or change the entries in the color table for the image.
See also
- PySide6.QtGui.QBrush.setTransform(arg__1)¶
- Parameters
arg__1 –
PySide6.QtGui.QTransform
Sets matrix
as an explicit transformation matrix on the current brush. The brush transformation matrix is merged with QPainter
transformation matrix to produce the final result.
See also
- PySide6.QtGui.QBrush.style()¶
- Return type
Returns the brush style.
See also
- PySide6.QtGui.QBrush.swap(other)¶
- Parameters
other –
PySide6.QtGui.QBrush
Swaps brush other
with this brush. This operation is very fast and never fails.
- PySide6.QtGui.QBrush.texture()¶
- Return type
Returns the custom brush pattern, or a null pixmap if no custom brush pattern has been set.
See also
- PySide6.QtGui.QBrush.textureImage()¶
- Return type
Returns the custom brush pattern, or a null image if no custom brush pattern has been set.
If the texture was set as a QPixmap
it will be converted to a QImage
.
See also
- PySide6.QtGui.QBrush.transform()¶
- Return type
Returns the current transformation matrix for the brush.
See also
© 2022 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.