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.


Copyright © 2008 Trolltech Trademarks
Qt Jambi 4.3.5_01