Sur cette page

QStylePainter Class

La classe QStylePainter est une classe de commodité permettant de dessiner les éléments QStyle à l'intérieur d'un widget. Plus d'informations...

En-tête : #include <QStylePainter>
CMake : find_package(Qt6 REQUIRED COMPONENTS Widgets)
target_link_libraries(mytarget PRIVATE Qt6::Widgets)
qmake : QT += widgets
Héritages : QPainter

Fonctions publiques

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

Description détaillée

QStylePainter étend QPainter avec un ensemble de fonctions de haut niveau draw...() implémentées au-dessus de l'API de QStyle. L'avantage d'utiliser QStylePainter est que les listes de paramètres sont considérablement plus courtes. Alors qu'un objet QStyle doit pouvoir dessiner sur n'importe quel widget en utilisant n'importe quel peintre (parce que l'application a normalement un objet QStyle partagé par tous les widgets), un QStylePainter est initialisé avec un widget, ce qui élimine la nécessité de spécifier le QWidget, le QPainter et le QStyle pour chaque appel de fonction.

Exemple utilisant directement 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);
}

Exemple utilisant 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);
}

Voir aussi QStyle et QStyleOption.

Documentation des fonctions membres

QStylePainter::QStylePainter()

Construit un QStylePainter.

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

Construit un QStylePainter en utilisant le widget widget pour son dispositif de peinture.

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

Construire un QStylePainter en utilisant pd pour son dispositif de peinture, et les attributs de widget.

bool QStylePainter::begin(QWidget *widget)

Commence les opérations de peinture sur l'image spécifiée widget. Renvoie true si le peintre est prêt à être utilisé ; sinon, renvoie false.

Cette fonction est automatiquement appelée par le constructeur qui prend un QWidget.

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

Commencer les opérations de peinture sur le dispositif de peinture pd comme s'il s'agissait de widget.

Cette fonction est automatiquement appelée par le constructeur qui prend un QPaintDevice et un QWidget.

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

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

Utiliser le style du widget pour dessiner un contrôle complexe cc spécifié par QStyleOptionComplex option .

Voir aussi QStyle::drawComplexControl().

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

Utiliser le style du widget pour dessiner un élément de contrôle ce spécifié par QStyleOption option .

Voir également QStyle::drawControl().

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

Dessine le pixmap dans le rectangle rect. La pixmap est alignée selon flags.

Voir aussi QStyle::drawItemPixmap() et Qt::Alignment.

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

Dessine le text dans le rectangle rect et la palette pal. Le texte est aligné et enveloppé conformément à flags.

La couleur du stylo est spécifiée avec textRole. Le bool enabled indique si l'élément est activé ou non ; lors de la réimplémentation, ce bool devrait influencer la manière dont l'élément est dessiné.

Voir également QStyle::drawItemText() et Qt::Alignment.

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

Utiliser le style du widget pour dessiner un élément primitif pe spécifié par QStyleOption option .

Voir aussi QStyle::drawPrimitive().

QStyle *QStylePainter::style() const

Retourne le style actuel utilisé par le site QStylePainter.

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