Auf dieser Seite

QBrush Class

Die Klasse „QBrush“ definiert das Füllmuster der von „ QPainter “ gezeichneten Formen. Mehr...

Header: #include <QBrush>
CMake: find_package(Qt6 REQUIRED COMPONENTS Gui)
target_link_libraries(mytarget PRIVATE Qt6::Gui)
qmake: QT += gui

Öffentliche Funktionen

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)

Ausführliche Beschreibung

Ein Pinsel verfügt über einen Stil, eine Farbe, einen Farbverlauf und eine Textur.

Der Pinsel style() definiert das Füllmuster mithilfe der Enumeration „ Qt::BrushStyle “. Der Standardstil des Pinsels ist „ Qt::NoBrush “ (abhängig davon, wie der Pinsel erstellt wird). Dieser Stil weist den Maler an, Formen nicht zu füllen. Der Standardstil für das Füllen ist „ Qt::SolidPattern “. Der Stil kann beim Erstellen des Pinsels mithilfe des entsprechenden Konstruktors festgelegt werden; darüber hinaus bietet die Funktion „ setStyle()“ die Möglichkeit, den Stil nach der Erstellung des Pinsels zu ändern.

Pinselstile

Der Pinsel „ color()“ definiert die Farbe des Füllmusters. Die Farbe kann entweder eine der vordefinierten Farben von Qt XML sein („ Qt::GlobalColor “) oder eine beliebige benutzerdefinierte Farbe („ QColor “). Die aktuell eingestellte Farbe kann mit den Funktionen „ color()“ bzw. „ setColor()“ abgerufen und geändert werden.

Die Funktion ` gradient()` definiert die Farbverlaufsfüllung, die verwendet wird, wenn der aktuelle Stil entweder ` Qt::LinearGradientPattern`, ` Qt::RadialGradientPattern ` oder ` Qt::ConicalGradientPattern` ist. Farbverlaufspinsel werden erstellt, indem beim Erstellen des `QBrush` ein ` QGradient ` als Konstruktorargument übergeben wird. Qt stellt drei verschiedene Farbverläufe zur Verfügung: ` QLinearGradient`, ` QConicalGradient` und ` QRadialGradient ` – alle erben von ` 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);

Die Funktion ` texture()` definiert die Pixmap, die verwendet wird, wenn der aktuelle Stil ` Qt::TexturePattern` ist. Sie können einen Pinsel mit einer Textur erstellen, indem Sie die Pixmap bei der Erstellung des Pinsels angeben oder die Funktion ` setTexture()` verwenden.

Beachten Sie, dass durch das Anwenden von ` setTexture()` die Gleichung ` style()` == ` Qt::TexturePattern` gilt, unabhängig von früheren Stileinstellungen. Außerdem hat der Aufruf von ` setColor()` keine Auswirkungen, wenn der Stil ein Farbverlauf ist. Dasselbe gilt, wenn der Stil „ Qt::TexturePattern “ ist, es sei denn, die aktuelle Textur ist ein „ QBitmap “.

Die Funktion ` isOpaque()` gibt ` true ` zurück, wenn der Pinsel vollständig deckend ist, andernfalls `false`. Ein Pinsel gilt als deckend, wenn:

  • Die Alpha-Komponente von ` color()` den Wert 255 hat.
  • Sein „ texture()“ keinen Alphakanal aufweist und kein „ QBitmap “ ist.
  • Alle Farben in der „ gradient “ () haben eine Alpha-Komponente von 255.
Zwei sich überlappende Rechtecke mit UmrissenUm den Stil und die Farbe von Linien und Konturen festzulegen, verwenden Sie den „ pen “ des „ QPainter “ in Kombination mit „ Qt::PenStyle “ und „ 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);

Beachten Sie, dass QPainter standardmäßig beim Zeichnen von Formen den Umriss (mit dem aktuell eingestellten Stift) rendert. Verwenden Sie painter.setPen(Qt::NoPen) , um dieses Verhalten zu deaktivieren.

Weitere Informationen zum Zeichnen im Allgemeinen finden Sie im Abschnitt „Paint System“.

Siehe auch Qt::BrushStyle, QPainter und QColor.

Dokumentation der Member-Funktionen

QBrush::QBrush()

Erstellt einen standardmäßigen schwarzen Pinsel mit dem Stil „ Qt::NoBrush “ (d. h., dieser Pinsel füllt keine Formen aus).

QBrush::QBrush(Qt::BrushStyle style)

Erzeugt einen schwarzen Pinsel mit der angegebenen „ style “.

Siehe auch setStyle().

QBrush::QBrush(const QGradient &gradient)

Erstellt einen Pinsel auf Basis des angegebenen gradient.

Der Pinselstil wird auf den entsprechenden Farbverlaufsstil gesetzt (entweder „ Qt::LinearGradientPattern “, „ Qt::RadialGradientPattern “ oder „ Qt::ConicalGradientPattern “).

QBrush::QBrush(const QImage &image)

Erstellt einen Pinsel mit schwarzer Farbe und einer Textur, die auf die angegebene „ image “ gesetzt ist. Der Stil ist auf „ Qt::TexturePattern “ gesetzt.

Siehe auch ` setTextureImage()` .

QBrush::QBrush(const QPixmap &pixmap)

Erstellt einen Pinsel mit schwarzer Farbe und einer Textur, die auf die angegebene „ pixmap “ gesetzt ist. Der Stil ist auf „ Qt::TexturePattern “ gesetzt.

Siehe auch setTexture().

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

Erstellt einen Pinsel mit den angegebenen Werten für „ color “ und „ style “.

Siehe auch ` setColor()` und ` setStyle()`.

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

Erstellt einen Pinsel mit dem angegebenen „ color “ und dem benutzerdefinierten Muster, das unter „ pixmap “ gespeichert ist.

Der Stil wird auf ` Qt::TexturePattern` gesetzt. Die Farbe wirkt sich nur bei QBitmaps aus.

Siehe auch setColor() und setTexture().

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

Erstellt einen Pinsel mit den angegebenen Werten „ color “ und „ style “.

Siehe auch setColor() und setStyle().

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

Erstellt einen Pinsel mit dem angegebenen „ color “ und dem benutzerdefinierten Muster, das unter „ pixmap “ gespeichert ist.

Der Stil wird auf ` Qt::TexturePattern` gesetzt. Die Farbe wirkt sich nur bei QBitmaps aus.

Siehe auch setColor() und setTexture().

QBrush::QBrush(const QBrush &other)

Erstellt eine Kopie von „ other “.

[noexcept] QBrush::~QBrush()

Zerstört den Pinsel.

const QColor &QBrush::color() const

Gibt die Pinselfarbe zurück.

Siehe auch „ setColor()“.

const QGradient *QBrush::gradient() const

Gibt den Gradienten zurück, der diesen Pinsel beschreibt.

bool QBrush::isOpaque() const

Gibt „ true “ zurück, wenn der Pinsel vollständig deckend ist, andernfalls „false“. Ein Pinsel gilt als deckend, wenn:

  • Die Alpha-Komponente des „ color()“ beträgt 255.
  • Sein „ texture()“ keinen Alphakanal hat und kein „ QBitmap “ ist.
  • Die Farben im „ gradient “ () haben alle eine Alpha-Komponente von 255.
  • Es handelt sich um einen erweiterten radialen Farbverlauf.

void QBrush::setColor(const QColor &color)

Setzt die Pinselfarbe auf den angegebenen Wert color.

Beachten Sie, dass der Aufruf von `setColor()` keine Auswirkungen hat, wenn der Stil ein Farbverlauf ist. Das Gleiche gilt, wenn der Stil vom Typ ` Qt::TexturePattern ` ist, es sei denn, die aktuelle Textur ist vom Typ ` QBitmap`.

Siehe auch ` color()`.

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

Setzt die Pinselfarbe auf den angegebenen Wert „ color “.

Dies ist eine überladene Funktion.

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

Setzt den Pinselstil auf „ style “.

Siehe auch „ style()“.

void QBrush::setTexture(const QPixmap &pixmap)

Setzt die Pinsel-Pixmap auf „ pixmap “. Der Stil wird auf „ Qt::TexturePattern “ gesetzt.

Die aktuelle Pinselfarbe wirkt sich nur bei monochromen Pixmaps aus, d. h. wenn QPixmap::depth() == 1 (QBitmaps) ist.

Siehe auch texture().

void QBrush::setTextureImage(const QImage &image)

Setzt das Pinselbild auf „ image “. Der Stil wird auf „ Qt::TexturePattern “ gesetzt.

Beachten Sie, dass die aktuelle Pinselfarbe bei monochromen Bildern keine Auswirkung hat – im Gegensatz zum Aufruf von ` setTexture()` mit einem ` QBitmap`. Wenn Sie die Farbe von Pinseln für monochrome Bilder ändern möchten, konvertieren Sie das Bild entweder mit ` QBitmap::fromImage() ` in ` QBitmap ` und legen Sie das resultierende ` QBitmap ` als Textur fest, oder ändern Sie die Einträge in der Farbtabelle des Bildes.

Siehe auch textureImage() und setTexture().

void QBrush::setTransform(const QTransform &matrix)

Legt „ matrix “ als explizite Transformationsmatrix für den aktuellen Pinsel fest. Die Pinsel-Transformationsmatrix wird mit der Transformationsmatrix „ QPainter “ zusammengeführt, um das Endergebnis zu erzeugen.

Siehe auch transform().

Qt::BrushStyle QBrush::style() const

Gibt den Pinselstil zurück.

Siehe auch ` setStyle()`.

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

Ersetze diesen Pinsel durch „ other “. Dieser Vorgang ist sehr schnell und schlägt niemals fehl.

QPixmap QBrush::texture() const

Gibt das benutzerdefinierte Pinselmuster zurück oder eine Null-Pixmap, falls kein benutzerdefiniertes Pinselmuster festgelegt wurde.

Siehe auch „ setTexture()“.

QImage QBrush::textureImage() const

Gibt das benutzerdefinierte Pinselmuster zurück oder ein Nullbild, falls kein benutzerdefiniertes Pinselmuster festgelegt wurde.

Wenn die Textur als „ QPixmap “ festgelegt wurde, wird sie in „ QImage “ konvertiert.

Siehe auch setTextureImage().

QTransform QBrush::transform() const

Gibt die aktuelle Transformationsmatrix für den Pinsel zurück.

Siehe auch „ setTransform()“.

QBrush::operator QVariant() const

Gibt den Pinsel als QVariant

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

Gibt „ true “ zurück, wenn sich der Pinsel von dem angegebenen „ brush “ unterscheidet; andernfalls wird „ false “ zurückgegeben.

Zwei Pinsel sind unterschiedlich, wenn sie unterschiedliche Stile, Farben oder Transformationen oder – je nach Stil – unterschiedliche Pixmaps oder Farbverläufe aufweisen.

Siehe auch operator==().

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

Weist „ other “ dieser „ QBrush “-Instanz zu.

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

Weist diesem Pinsel das angegebene „ brush “ zu und gibt eine Referenz auf diesen Pinsel zurück.

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

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

Macht diesen Pinsel zu einem Pinsel mit durchgehendem Muster gemäß der angegebenen „ color “ und gibt eine Referenz auf diesen Pinsel zurück.

Diese Funktionen wurden in Qt 6.9 eingeführt.

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

Macht diesen Pinsel zu einem schwarzen Pinsel der angegebenen „ style “ und gibt eine Referenz auf diesen Pinsel zurück.

Dies ist eine überladene Funktion.

Diese Funktion wurde in Qt 6.9 eingeführt.

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

Gibt „ true “ zurück, wenn der Pinsel mit dem angegebenen „ brush “ übereinstimmt; andernfalls wird „ false “ zurückgegeben.

Zwei Pinsel sind gleich, wenn sie gleiche Stile, Farben und Transformationen sowie – je nach Stil – gleiche Pixmaps oder Farbverläufe aufweisen.

Siehe auch operator!=().

Verwandte Nicht-Mitglieder

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

Schreibt die angegebene ` brush ` in die angegebene ` stream ` und gibt eine Referenz auf die ` stream` zurück.

Siehe auch „Serialisierung vonQt-Datentypen“.

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

Liest den angegebenen „ brush “ aus dem angegebenen „ stream “ und gibt eine Referenz auf „ stream “ zurück.

Siehe auch „Serialisierung vonQt-Datentypen“.

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