Sur cette page

QBrush Class

La classe QBrush définit le motif de remplissage des formes dessinées par QPainter. Plus...

En-tête : #include <QBrush>
CMake : find_package(Qt6 REQUIRED COMPONENTS Gui)
target_link_libraries(mytarget PRIVATE Qt6::Gui)
qmake : QT += gui

Fonctions publiques

QBrush()
QBrush(Qt::BrushStyle style)
QBrush(const QGradient &gradient)
QBrush(const QImage &image)
QBrush(const QPixmap &pixmap)
QBrush(Qt::GlobalColor color, Qt::BrushStyle style = Qt::SolidPattern)
QBrush(Qt::GlobalColor color, const QPixmap &pixmap)
QBrush(const QColor &color, Qt::BrushStyle style = Qt::SolidPattern)
QBrush(const QColor &color, const QPixmap &pixmap)
QBrush(const QBrush &other)
~QBrush()
const QColor &color() const
const QGradient *gradient() const
bool isOpaque() const
void setColor(const QColor &color)
void setColor(Qt::GlobalColor color)
void setStyle(Qt::BrushStyle style)
void setTexture(const QPixmap &pixmap)
void setTextureImage(const QImage &image)
void setTransform(const QTransform &matrix)
Qt::BrushStyle style() const
void swap(QBrush &other)
QPixmap texture() const
QImage textureImage() const
QTransform transform() const
operator QVariant() const
bool operator!=(const QBrush &brush) const
QBrush &operator=(QBrush &&other)
QBrush &operator=(const QBrush &brush)
(since 6.9) QBrush &operator=(QColor color)
(since 6.9) QBrush &operator=(Qt::BrushStyle style)
(since 6.9) QBrush &operator=(Qt::GlobalColor color)
bool operator==(const QBrush &brush) const
QDataStream &operator<<(QDataStream &stream, const QBrush &brush)
QDataStream &operator>>(QDataStream &stream, QBrush &brush)

Description détaillée

Une brosse possède un style, une couleur, un dégradé et une texture.

La brosse style() définit le motif de remplissage à l'aide de l'énumération Qt::BrushStyle. Le style de brosse par défaut est Qt::NoBrush (en fonction de la façon dont vous construisez une brosse). Ce style indique au peintre de ne pas remplir les formes. Le style standard de remplissage est Qt::SolidPattern. Le style peut être défini lors de la création de la brosse à l'aide du constructeur approprié. En outre, la fonction setStyle() permet de modifier le style une fois la brosse construite.

Styles de pinceau

La brosse color() définit la couleur du motif de remplissage. La couleur peut être l'une des couleurs prédéfinies de Qt XML, Qt::GlobalColor, ou toute autre couleur personnalisée QColor. La couleur actuellement définie peut être récupérée et modifiée à l'aide des fonctions color() et setColor(), respectivement.

La fonction gradient() définit le remplissage en dégradé utilisé lorsque le style courant est soit Qt::LinearGradientPattern, Qt::RadialGradientPattern ou Qt::ConicalGradientPattern. Les brosses en dégradé sont créées en donnant un QGradient comme argument du constructeur lors de la création de la brosse QBrush. Qt propose trois dégradés différents : QLinearGradient QConicalGradient , et QRadialGradient - qui héritent tous de QGradient.

    QRadialGradient gradient(50, 50, 50, 50, 50);
    gradient.setColorAt(0, QColor::fromRgbF(0, 1, 0, 1));
    gradient.setColorAt(1, QColor::fromRgbF(0, 0, 0, 0));

    QBrush brush(gradient);

texture() définit la pixmap utilisée lorsque le style courant est Qt::TexturePattern. Vous pouvez créer une brosse avec une texture en fournissant la pixmap lors de la création de la brosse ou en utilisant setTexture().

Notez que l'application de setTexture() rend style() == Qt::TexturePattern, indépendamment des paramètres de style précédents. De même, l'appel à setColor() ne fera aucune différence si le style est un dégradé. Il en va de même si le style est le style Qt::TexturePattern, à moins que la texture actuelle ne soit un QBitmap.

La fonction isOpaque() renvoie true si la brosse est totalement opaque, sinon elle renvoie false. Une brosse est considérée comme opaque si :

  • La composante alpha de la fonction color() est égale à 255.
  • Son texture() n'a pas de canal alpha et n'est pas un QBitmap.
  • Les couleurs de la brosse gradient() ont toutes une composante alpha égale à 255.
ContoursPour spécifier le style et la couleur des lignes et des contours, utilisez les QPainter's pen combinés avec Qt::PenStyle et Qt::GlobalColor:
QPainter painter(this);

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);

Notez que, par défaut, QPainter rend le contour (en utilisant le stylo actuellement défini) lorsque vous dessinez des formes. Utilisez painter.setPen(Qt::NoPen) pour désactiver ce comportement.

Pour plus d'informations sur la peinture en général, voir le système de peinture.

Voir également Qt::BrushStyle, QPainter, et QColor.

Documentation des fonctions membres

QBrush::QBrush()

Construit une brosse noire par défaut avec le style Qt::NoBrush (c'est-à-dire que cette brosse ne remplit pas les formes).

QBrush::QBrush(Qt::BrushStyle style)

Construit une brosse noire avec l'adresse style.

Voir aussi setStyle().

QBrush::QBrush(const QGradient &gradient)

Construit une brosse basée sur le fichier gradient.

Le style de la brosse est défini sur le style de dégradé correspondant (soit Qt::LinearGradientPattern, Qt::RadialGradientPattern ou Qt::ConicalGradientPattern).

QBrush::QBrush(const QImage &image)

Construit une brosse avec une couleur noire et une texture définie sur image. Le style est défini sur Qt::TexturePattern.

Voir aussi setTextureImage().

QBrush::QBrush(const QPixmap &pixmap)

Construit une brosse avec une couleur noire et une texture définie sur pixmap. Le style est défini sur Qt::TexturePattern.

Voir aussi setTexture().

QBrush::QBrush(Qt::GlobalColor color, Qt::BrushStyle style = Qt::SolidPattern)

Construit une brosse avec les données color et style.

Voir aussi setColor() et setStyle().

QBrush::QBrush(Qt::GlobalColor color, const QPixmap &pixmap)

Construit une brosse avec la donnée color et le motif personnalisé stocké dans pixmap. Le style est fixé à . La couleur n'aura d'effet que pour les QBitmaps.

Le style est défini sur Qt::TexturePattern. La couleur n'aura d'effet que pour les QBitmaps.

Voir aussi setColor() et setTexture().

QBrush::QBrush(const QColor &color, Qt::BrushStyle style = Qt::SolidPattern)

Construit une brosse avec les données color et style.

Voir aussi setColor() et setStyle().

QBrush::QBrush(const QColor &color, const QPixmap &pixmap)

Construit une brosse avec la donnée color et le motif personnalisé stocké dans pixmap. Le style est fixé à . La couleur n'aura d'effet que pour les QBitmaps.

Le style est défini sur Qt::TexturePattern. La couleur n'aura d'effet que pour les QBitmaps.

Voir aussi setColor() et setTexture().

QBrush::QBrush(const QBrush &other)

Construit une copie de other.

[noexcept] QBrush::~QBrush()

Détruit la brosse.

const QColor &QBrush::color() const

Renvoie la couleur de la brosse.

Voir aussi setColor().

const QGradient *QBrush::gradient() const

Renvoie le gradient décrivant cette brosse.

bool QBrush::isOpaque() const

Retourne true si la brosse est totalement opaque, sinon false. Une brosse est considérée comme opaque si

  • La composante alpha du color() est égale à 255.
  • Son texture() n'a pas de canal alpha et n'est pas un QBitmap.
  • Les couleurs de la brosse gradient() ont toutes une composante alpha égale à 255.
  • Il s'agit d'un dégradé radial étendu.

void QBrush::setColor(const QColor &color)

Fixe la couleur de la brosse à la valeur donnée color.

Notez que l'appel à setColor() ne fera pas de différence si le style est un dégradé. Il en va de même si le style est le style Qt::TexturePattern, sauf si la texture courante est un QBitmap.

Voir aussi color().

void QBrush::setColor(Qt::GlobalColor color)

Fixe la couleur de la brosse à la valeur donnée color.

Il s'agit d'une fonction surchargée.

void QBrush::setStyle(Qt::BrushStyle style)

Définit le style de brosse à style.

Voir aussi style().

void QBrush::setTexture(const QPixmap &pixmap)

Définit la pixmap de la brosse à pixmap. Le style est défini à Qt::TexturePattern.

La couleur actuelle de la brosse n'aura d'effet que pour les pixmaps monochromes, c'est-à-dire pour QPixmap::depth() == 1 (QBitmaps).

Voir aussi texture().

void QBrush::setTextureImage(const QImage &image)

Définit l'image de la brosse à image. Le style est défini à Qt::TexturePattern.

Notez que la couleur actuelle de la brosse n'aura aucun effet sur les images monochromes, contrairement à l'appel à setTexture() avec une image QBitmap. Si vous souhaitez modifier la couleur des brosses d'une image monochrome, convertissez l'image en QBitmap avec QBitmap::fromImage() et définissez le résultat QBitmap comme texture, ou modifiez les entrées de la table des couleurs de l'image.

Voir également textureImage() et setTexture().

void QBrush::setTransform(const QTransform &matrix)

Définit matrix comme matrice de transformation explicite sur la brosse actuelle. La matrice de transformation de la brosse est fusionnée avec la matrice de transformation de QPainter pour produire le résultat final.

Voir aussi transform().

Qt::BrushStyle QBrush::style() const

Renvoie le style de brosse.

Voir aussi setStyle().

[noexcept] void QBrush::swap(QBrush &other)

Remplace cette brosse par other. Cette opération est très rapide et n'échoue jamais.

QPixmap QBrush::texture() const

Renvoie le motif de brosse personnalisé, ou une pixmap nulle si aucun motif de brosse personnalisé n'a été défini.

Voir aussi setTexture().

QImage QBrush::textureImage() const

Renvoie le motif de brosse personnalisé, ou une image nulle si aucun motif de brosse personnalisé n'a été défini.

Si la texture a été définie en tant que QPixmap, elle sera convertie en QImage.

Voir aussi setTextureImage().

QTransform QBrush::transform() const

Renvoie la matrice de transformation actuelle de la brosse.

Voir aussi setTransform().

QBrush::operator QVariant() const

Retourne la brosse sous forme de QVariant

bool QBrush::operator!=(const QBrush &brush) const

Renvoie true si la brosse est différente de la brosse donnée brush; sinon, renvoie false.

Deux brosses sont différentes si elles ont des styles, des couleurs ou des transformations différents, ou des pixmaps ou des dégradés différents en fonction du style.

Voir aussi operator==().

[noexcept] QBrush &QBrush::operator=(QBrush &&other)

Move-assigne other à cette instance QBrush.

QBrush &QBrush::operator=(const QBrush &brush)

Attribue la valeur brush à cette brosse et renvoie une référence à cette brosse.

[since 6.9] QBrush &QBrush::operator=(QColor color)

[since 6.9] QBrush &QBrush::operator=(Qt::GlobalColor color)

Fait de cette brosse une brosse à motif solide de la valeur color, et renvoie une référence à cette brosse.

Ces fonctions ont été introduites dans Qt 6.9.

[since 6.9] QBrush &QBrush::operator=(Qt::BrushStyle style)

Fait de cette brosse une brosse noire de la valeur style, et renvoie une référence à cette brosse.

Il s'agit d'une fonction surchargée.

Cette fonction a été introduite dans Qt 6.9.

bool QBrush::operator==(const QBrush &brush) const

Renvoie true si la brosse est égale à la brosse donnée brush; sinon, renvoie false.

Deux brosses sont égales si elles ont les mêmes styles, couleurs et transformations et les mêmes pixmaps ou dégradés selon le style.

Voir aussi operator!=().

Non-membres apparentés

QDataStream &operator<<(QDataStream &stream, const QBrush &brush)

Écrit la donnée brush dans la donnée stream et renvoie une référence à stream.

Voir aussi Serializing Qt Data Types (Sérialisation des types de données Qt).

QDataStream &operator>>(QDataStream &stream, QBrush &brush)

Lit la donnée brush à partir de la donnée stream et renvoie une référence à la donnée stream.

Voir aussi Serializing Qt Data Types (Sérialisation des types de données Qt).

© 2026 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.