|  | Home · Overviews · Examples

# QStylePainter Class Reference
[com.trolltech.qt.gui module]

The `QStylePainter` class is a convenience class for drawing `QStyle` elements inside a widget. More...

Inherits `QPainter`.

## Detailed Description

The `QStylePainter` class is a convenience class for drawing `QStyle` elements inside a widget.

`QStylePainter` extends `QPainter` with a set of high-level `draw...()` functions implemented on top of `QStyle`'s API. The advantage of using `QStylePainter` is that the parameter lists get considerably shorter. Whereas a `QStyle` object must be able to draw on any widget using any painter (because the application normally has one `QStyle` object shared by all widget), a `QStylePainter` is initialized with a widget, eliminating the need to specify the `QWidget`, the `QPainter`, and the `QStyle` for every function call.

Example using `QStyle` directly:

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

Example using `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);
        }

See also `QStyle` and `QStyleOption`.