Auf dieser Seite

QStylePainter Class

Die Klasse „QStylePainter“ ist eine Hilfs QStyle, mit der sich Elemente innerhalb eines Widgets gezeichnet werden können. Mehr...

Header: #include <QStylePainter>
CMake: find_package(Qt6 REQUIRED COMPONENTS Widgets)
target_link_libraries(mytarget PRIVATE Qt6::Widgets)
qmake: QT += widgets
Erbt von: QPainter

Öffentliche Funktionen

QStylePainter()
QStylePainter(QWidget *widget)
QStylePainter(QPaintDevice *pd, QWidget *widget)
bool begin(QWidget *widget)
bool begin(QPaintDevice *pd, QWidget *widget)
void drawComplexControl(QStyle::ComplexControl cc, const QStyleOptionComplex &option)
void drawControl(QStyle::ControlElement ce, const QStyleOption &option)
void drawItemPixmap(const QRect &rect, int flags, const QPixmap &pixmap)
void drawItemText(const QRect &rect, int flags, const QPalette &pal, bool enabled, const QString &text, QPalette::ColorRole textRole = QPalette::NoRole)
void drawPrimitive(QStyle::PrimitiveElement pe, const QStyleOption &option)
QStyle *style() const

Ausführliche Beschreibung

QStylePainter erweitert „ QPainter “ um eine Reihe von hochrangigen „ draw...() “-Funktionen, die auf der API von „ QStyle “ aufsetzen. Der Vorteil der Verwendung von QStylePainter besteht darin, dass die Parameterlisten erheblich kürzer werden. Während ein „ QStyle “-Objekt in der Lage sein muss, auf jedem Widget mit jedem beliebigen Painter zu zeichnen (da die Anwendung normalerweise über ein einziges „ QStyle “-Objekt verfügt, das von allen Widgets gemeinsam genutzt wird), wird ein „QStylePainter“ mit einem Widget initialisiert, wodurch die Notwendigkeit entfällt, bei jedem Funktionsaufruf „ QWidget “, „ QPainter “ und „ QStyle “ anzugeben.

Beispiel für die direkte Verwendung von „ QStyle “:

void MyWidget::paintEvent(QPaintEvent * /* event */)
{
    QPainter painter(this);

    QStyleOptionFocusRect option;
    option.initFrom(this);
    option.backgroundColor = palette().color(QPalette::Window);

    style()->drawPrimitive(QStyle::PE_FrameFocusRect, &option, &painter, this);
}

Beispiel für die Verwendung von `QStylePainter`:

void MyWidget::paintEvent(QPaintEvent * /* event */)
{
    QStylePainter painter(this);

    QStyleOptionFocusRect option;
    option.initFrom(this);
    option.backgroundColor = palette().color(QPalette::Window);

    painter.drawPrimitive(QStyle::PE_FrameFocusRect, option);
}

Siehe auch „ QStyle “ und „ QStyleOption “.

Dokumentation der Mitgliedsfunktionen

QStylePainter::QStylePainter()

Erstellt einen QStylePainter.

[explicit] QStylePainter::QStylePainter(QWidget *widget)

Erstellen Sie einen QStylePainter, der das Widget „ widget “ als Zeichenvorrichtung verwendet.

QStylePainter::QStylePainter(QPaintDevice *pd, QWidget *widget)

Erstellen Sie einen `QStylePainter`, der ` pd ` als Zeichenvorrichtung verwendet und Attribute aus ` widget` nutzt.

bool QStylePainter::begin(QWidget *widget)

Startet die Malvorgänge auf dem angegebenen ` widget`. Gibt ` true ` zurück, wenn der Painter einsatzbereit ist; andernfalls wird ` false` zurückgegeben.

Dies wird automatisch vom Konstruktor aufgerufen, der ein ` QWidget` entgegennimmt.

bool QStylePainter::begin(QPaintDevice *pd, QWidget *widget)

Beginne mit den Zeichenvorgängen auf dem Zeichenobjekt „ pd “, als wäre es „ widget “.

Dies wird automatisch vom Konstruktor aufgerufen, der ein ` QPaintDevice ` und ein ` QWidget` entgegennimmt.

Dies ist eine überladene Funktion.

void QStylePainter::drawComplexControl(QStyle::ComplexControl cc, const QStyleOptionComplex &option)

Verwenden Sie den Stil des Widgets, um ein komplexes Steuerelement cc zu zeichnen, das durch die Eigenschaft „ QStyleOptionComplex “ option definiert ist.

Siehe auch QStyle::drawComplexControl().

void QStylePainter::drawControl(QStyle::ControlElement ce, const QStyleOption &option)

Verwenden Sie den Stil des Widgets, um ein Steuerelement ce zu zeichnen, das durch QStyleOption option festgelegt ist.

Siehe auch QStyle::drawControl().

void QStylePainter::drawItemPixmap(const QRect &rect, int flags, const QPixmap &pixmap)

Zeichnet die Bilddatei „ pixmap “ in das Rechteck „ rect “. Die Bilddatei wird gemäß „ flags “ ausgerichtet.

Siehe auch „ QStyle::drawItemPixmap()“ und „ Qt::Alignment “.

void QStylePainter::drawItemText(const QRect &rect, int flags, const QPalette &pal, bool enabled, const QString &text, QPalette::ColorRole textRole = QPalette::NoRole)

Zeichnet den Text „ text “ in das Rechteck „ rect “ und verwendet die Palette „ pal “. Der Text wird gemäß „ flags “ ausgerichtet und umgebrochen.

Die Stiftfarbe wird mit ` textRole` festgelegt. Der boolesche Wert ` enabled ` gibt an, ob das Element aktiviert ist oder nicht; bei einer Neimplementierung sollte dieser Wert Einfluss darauf haben, wie das Element gezeichnet wird.

Siehe auch QStyle::drawItemText() und Qt::Alignment.

void QStylePainter::drawPrimitive(QStyle::PrimitiveElement pe, const QStyleOption &option)

Verwenden Sie den Stil des Widgets, um ein primitives Element pe zu zeichnen, das durch QStyleOption option festgelegt ist.

Siehe auch QStyle::drawPrimitive().

QStyle *QStylePainter::style() const

Gibt den aktuell von der ` QStylePainter` verwendeten Stil zurück.

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