En esta página

QStylePainter Class

La clase QStylePainter es una clase de conveniencia para dibujar elementos QStyle dentro de un widget. Más...

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

Funciones Públicas

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

Descripción Detallada

QStylePainter extiende QPainter con un conjunto de funciones de alto nivel draw...() implementadas sobre la API de QStyle. La ventaja de utilizar QStylePainter es que las listas de parámetros se acortan considerablemente. Mientras que un objeto QStyle debe ser capaz de dibujar en cualquier widget usando cualquier pintor (porque la aplicación normalmente tiene un objeto QStyle compartido por todos los widget), un QStylePainter se inicializa con un widget, eliminando la necesidad de especificar el QWidget, el QPainter, y el QStyle para cada llamada a función.

Ejemplo usando QStyle directamente:

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

Ejemplo usando 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);
}

Véase también QStyle y QStyleOption.

Documentación de las funciones miembro

QStylePainter::QStylePainter()

Construye un QStylePainter.

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

Construye un QStylePainter usando el widget widget para su dispositivo de pintura.

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

Construye un QStylePainter usando pd para su dispositivo de pintura, y atributos de widget.

bool QStylePainter::begin(QWidget *widget)

Comienza las operaciones de pintado en el widget especificado. Devuelve true si el pintor está listo para su uso; en caso contrario devuelve false.

Esto es llamado automáticamente por el constructor que toma un QWidget.

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

Comienza las operaciones de pintura en el dispositivo de pintura pd como si fuera widget.

Esto es llamado automáticamente por el constructor que toma un QPaintDevice y un QWidget.

Se trata de una función sobrecargada.

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

Utiliza el estilo del widget para dibujar un control complejo cc especificado por QStyleOptionComplex option .

Véase también QStyle::drawComplexControl().

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

Utiliza el estilo del widget para dibujar un elemento de control ce especificado por QStyleOption option .

Véase también QStyle::drawControl().

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

Dibuja el pixmap en el rectángulo rect. El mapa de píxeles se alinea según flags.

Véase también QStyle::drawItemPixmap() y Qt::Alignment.

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

Dibuja el text en el rectángulo rect y la paleta pal. El texto se alinea y envuelve según flags.

El color del lápiz se especifica con textRole. El bool enabled indica si el elemento está habilitado o no; al reimplementar este bool debería influir en cómo se dibuja el elemento.

Véase también QStyle::drawItemText() y Qt::Alignment.

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

Utiliza el estilo del widget para dibujar un elemento primitivo pe especificado por QStyleOption option .

Véase también QStyle::drawPrimitive().

QStyle *QStylePainter::style() const

Devuelve el estilo actual utilizado por 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.