QBrush Class

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

Kopfzeile: #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
QVariant operator QVariant() const
bool operator!=(const QBrush &brush) const
QBrush &operator=(QBrush &&other)
QBrush &operator=(const QBrush &brush)
bool operator==(const QBrush &brush) const
QDataStream &operator<<(QDataStream &stream, const QBrush &brush)
QDataStream &operator>>(QDataStream &stream, QBrush &brush)

Detaillierte Beschreibung

Ein Pinsel hat einen Stil, eine Farbe, einen Farbverlauf und eine Textur.

Der Pinsel style() definiert das Füllmuster mit Hilfe des Qt::BrushStyle enum. Der Standard-Pinselstil ist Qt::NoBrush (je nachdem, wie Sie einen Pinsel konstruieren). Dieser Stil weist den Maler an, Formen nicht zu füllen. Der Standardstil für das Füllen ist Qt::SolidPattern. Der Stil kann festgelegt werden, wenn der Pinsel mit dem entsprechenden Konstruktor erstellt wird, und zusätzlich bietet die Funktion setStyle() die Möglichkeit, den Stil zu ändern, nachdem der Pinsel erstellt wurde.

Brush Styles

Der Pinsel color() definiert die Farbe des Füllmusters. Die Farbe kann entweder eine der vordefinierten Farben von Qt, Qt::GlobalColor, oder eine beliebige andere benutzerdefinierte QColor sein. Die aktuell eingestellte Farbe kann mit den Funktionen color() und setColor() abgefragt bzw. 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. Farbverlaufs-Pinsel werden erstellt, indem ein QGradient als Konstruktor-Argument beim Erstellen des QBrush angegeben wird. Qt bietet drei verschiedene Farbverläufe: QLinearGradient, QConicalGradient, und QRadialGradient - die alle von QGradient erben.

    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 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 beim Erstellen des Pinsels angeben oder setTexture() verwenden.

Beachten Sie, dass die Anwendung von setTexture() style() == Qt::TexturePattern macht, unabhängig von den vorherigen Stileinstellungen. Auch der Aufruf von setColor() macht keinen Unterschied, wenn der Stil ein Farbverlauf ist. Dasselbe gilt, wenn der Stil Qt::TexturePattern ist, es sei denn, die aktuelle Textur ist eine QBitmap.

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

  • Die Alpha-Komponente von color() ist 255.
  • Sein texture() hat keinen Alphakanal und ist kein QBitmap.
  • Die Farben in gradient() haben alle eine Alphakomponente, die 255 ist.
UmrisseUm den Stil und die Farbe von Linien und Umrissen festzulegen, verwenden Sie die QPainter's pen kombiniert 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 beim Zeichnen von Formen standardmäßig den Umriss (unter Verwendung des aktuell eingestellten Stifts) rendert. Verwenden Sie painter.setPen(Qt::NoPen) um dieses Verhalten zu deaktivieren.

Weitere Informationen über das Malen im Allgemeinen finden Sie im Malsystem.

Siehe auch Qt::BrushStyle, QPainter, und QColor.

Dokumentation der Mitgliedsfunktionen

QBrush::QBrush()

Konstruiert einen schwarzen Standardpinsel mit dem Stil Qt::NoBrush (d.h. dieser Pinsel füllt keine Formen).

QBrush::QBrush(Qt::BrushStyle style)

Konstruiert einen schwarzen Pinsel mit dem angegebenen style.

Siehe auch setStyle().

QBrush::QBrush(const QGradient &gradient)

Konstruiert einen Pinsel auf der Grundlage des angegebenen gradient.

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

QBrush::QBrush(const QImage &image)

Konstruiert einen Pinsel mit einer schwarzen Farbe und einer Textur, die auf die angegebene image eingestellt ist. Der Stil wird auf Qt::TexturePattern gesetzt.

Siehe auch setTextureImage().

QBrush::QBrush(const QPixmap &pixmap)

Konstruiert einen Pinsel mit einer schwarzen Farbe und einer Textur, die auf die angegebene pixmap eingestellt ist. Der Stil wird auf Qt::TexturePattern gesetzt.

Siehe auch setTexture().

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

Konstruiert einen Pinsel mit den angegebenen color und style.

Siehe auch setColor() und setStyle().

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

Konstruiert einen Pinsel mit dem angegebenen color und dem in pixmap gespeicherten benutzerdefinierten Muster.

Der Stil wird auf Qt::TexturePattern gesetzt. Die Farbe hat nur für QBitmaps eine Wirkung.

Siehe auch setColor() und setTexture().

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

Konstruiert einen Pinsel mit den angegebenen color und style.

Siehe auch setColor() und setStyle().

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

Konstruiert einen Pinsel mit dem angegebenen color und dem in pixmap gespeicherten benutzerdefinierten Muster.

Der Stil wird auf Qt::TexturePattern gesetzt. Die Farbe wird nur für QBitmaps wirksam.

Siehe auch setColor() und setTexture().

QBrush::QBrush(const QBrush &other)

Konstruiert eine Kopie von other.

[noexcept] QBrush::~QBrush()

Zerstört die Bürste.

const QColor &QBrush::color() const

Gibt die Pinselfarbe zurück.

Siehe auch setColor().

const QGradient *QBrush::gradient() const

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

bool QBrush::isOpaque() const

Gibt true zurück, wenn der Pinsel vollständig undurchsichtig ist, andernfalls false. Ein Pinsel wird als undurchsichtig angesehen, wenn:

  • Die Alphakomponente des color() ist 255.
  • Sein texture() hat keinen Alphakanal und ist kein QBitmap.
  • Die Farben in gradient() haben alle eine Alphakomponente, die 255 ist.
  • 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() keinen Unterschied macht, wenn der Stil ein Farbverlauf ist. Dasselbe gilt, wenn der Stil Qt::TexturePattern ist, es sei denn, die aktuelle Textur ist eine QBitmap.

Siehe auch color().

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

Dies ist eine überladene Funktion.

Setzt die Pinselfarbe auf die angegebene color.

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 einfarbigen Pixmaps aus, d. h. bei QPixmap::depth() == 1 (QBitmaps).

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 keine Auswirkung auf monochrome Bilder hat, im Gegensatz zum Aufruf von setTexture() mit QBitmap. Wenn Sie die Farbe von monochromen Pinseln ändern möchten, konvertieren Sie entweder das Bild mit QBitmap::fromImage() in QBitmap und setzen Sie die resultierende QBitmap als Textur, oder ändern Sie die Einträge in der Farbtabelle für das Bild.

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 QPainter Transformationsmatrix zusammengeführt, um das endgültige Ergebnis zu erhalten.

Siehe auch transform().

Qt::BrushStyle QBrush::style() const

Gibt den Pinselstil zurück.

Siehe auch setStyle().

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

Tauscht diese Bürste gegen other aus. Dieser Vorgang ist sehr schnell und schlägt nie fehl.

QPixmap QBrush::texture() const

Liefert das benutzerdefinierte Pinselmuster oder eine Null-Pixmap, wenn kein benutzerdefiniertes Pinselmuster festgelegt wurde.

Siehe auch setTexture().

QImage QBrush::textureImage() const

Gibt das benutzerdefinierte Pinselmuster zurück, oder ein Null-Bild, wenn kein benutzerdefiniertes Pinselmuster festgelegt wurde.

Wenn die Textur als QPixmap festgelegt wurde, wird sie in QImage umgewandelt.

Siehe auch setTextureImage().

QTransform QBrush::transform() const

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

Siehe auch setTransform().

QVariant 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 unterschiedliche Pixmaps oder Farbverläufe haben, je nach Stil.

Siehe auch operator==().

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

Verschieben - weist other dieser QBrush Instanz zu.

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

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

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

Gibt true zurück, wenn der Pinsel gleich dem angegebenen brush ist; andernfalls wird false zurückgegeben.

Zwei Pinsel sind gleich, wenn sie die gleichen Stile, Farben und Transformationen und je nach Stil die gleichen Pixmaps oder Farbverläufe haben.

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 von Qt-Datentypen.

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

Liest die angegebene brush aus der angegebenen stream und gibt eine Referenz auf die stream zurück.

Siehe auch Serialisierung von Qt-Datentypen.

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