QStylePainter Class
Die Klasse QStylePainter ist eine Komfortklasse zum Zeichnen von QStyle Elementen innerhalb eines Widgets. Mehr...
Kopfzeile: | #include <QStylePainter> |
CMake: | find_package(Qt6 REQUIRED COMPONENTS Widgets) target_link_libraries(mytarget PRIVATE Qt6::Widgets) |
qmake: | QT += widgets |
Vererbt: | QPainter |
- Liste aller Mitglieder, einschließlich geerbter Mitglieder
- QStylePainter ist Teil der Malerei-Klassen.
Ö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 |
Detaillierte Beschreibung
QStylePainter erweitert QPainter um eine Reihe von High-Level-Funktionen draw...()
, die auf der API von QStyle implementiert sind. Der Vorteil der Verwendung von QStylePainter ist, dass die Parameterlisten wesentlich kürzer werden. Während ein QStyle Objekt in der Lage sein muss, auf jedem Widget mit jedem Painter zu zeichnen (weil die Anwendung normalerweise ein QStyle Objekt hat, das von allen Widgets gemeinsam genutzt wird), wird ein QStylePainter mit einem Widget initialisiert, wodurch die Notwendigkeit entfällt, QWidget, QPainter und QStyle für jeden Funktionsaufruf 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::Background); style()->drawPrimitive(QStyle::PE_FrameFocusRect, &option, &painter, this); }
Beispiel mit QStylePainter:
void MyWidget::paintEvent(QPaintEvent * /* event */) { QStylePainter painter(this); QStyleOptionFocusRect option; option.initFrom(this); option.backgroundColor = palette().color(QPalette::Background); painter.drawPrimitive(QStyle::PE_FrameFocusRect, option); }
Siehe auch QStyle und QStyleOption.
Dokumentation der Mitgliedsfunktionen
QStylePainter::QStylePainter()
Konstruiert einen QStylePainter.
[explicit]
QStylePainter::QStylePainter(QWidget *widget)
Konstruiert einen QStylePainter unter Verwendung des Widgets widget für sein Malgerät.
QStylePainter::QStylePainter(QPaintDevice *pd, QWidget *widget)
Konstruieren Sie einen QStylePainter unter Verwendung von pd für sein Malgerät und den Attributen von widget.
bool QStylePainter::begin(QWidget *widget)
Beginnt mit Malvorgängen 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 annimmt.
bool QStylePainter::begin(QPaintDevice *pd, QWidget *widget)
Dies ist eine überladene Funktion.
Beginnt mit Malvorgängen auf dem Gerät pd, als ob es widget wäre.
Diese Funktion wird automatisch durch den Konstruktor aufgerufen, der ein QPaintDevice und ein QWidget benötigt.
void QStylePainter::drawComplexControl(QStyle::ComplexControl cc, const QStyleOptionComplex &option)
Verwenden Sie den Stil des Widgets, um ein komplexes Steuerelement cc zu zeichnen, das durch QStyleOptionComplex option angegeben wird.
Siehe auch QStyle::drawComplexControl().
void QStylePainter::drawControl(QStyle::ControlElement ce, const QStyleOption &option)
Verwenden Sie den Stil des Widgets, um ein durch QStyleOption option spezifiziertes Bedienelement ce zu zeichnen.
Siehe auch QStyle::drawControl().
void QStylePainter::drawItemPixmap(const QRect &rect, int flags, const QPixmap &pixmap)
Zeichnet die pixmap in das Rechteck rect. Die Pixmap 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 die text in das Rechteck rect und die Palette pal. Der Text wird gemäß flags ausgerichtet und umbrochen.
Die Stiftfarbe wird mit textRole festgelegt. Das enabled bool gibt an, ob das Element aktiviert ist oder nicht; bei einer Neuimplementierung sollte dieses bool beeinflussen, 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 angegeben wird.
Siehe auch QStyle::drawPrimitive().
QStyle *QStylePainter::style() const
Gibt den aktuellen Stil zurück, der von QStylePainter verwendet wird.
© 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.