QStylePainter Class
The QStylePainter class is a convenience class for drawing QStyle elements inside a widget. More...
Header: | #include <QStylePainter> |
qmake: | QT += widgets |
Public Functions
QStylePainter() | |
QStylePainter(int *w) | |
QStylePainter(QPaintDevice *pd, int *w) | |
bool | begin(int *w) |
bool | begin(QPaintDevice *pd, int *w) |
void | drawComplexControl(int cc, const int &opt) |
void | drawControl(int ce, const int &opt) |
void | drawItemPixmap(const int &r, int flags, const int &pixmap) |
void | drawItemText(const int &r, int flags, const int &pal, bool enabled, const QString &text, int textRole = ...) |
void | drawPrimitive(int pe, const int &opt) |
int * | style() const |
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.
Member Function Documentation
QStylePainter::QStylePainter()
Default constructs an instance of QStylePainter.
QStylePainter::QStylePainter(int *w)
Default constructs an instance of QStylePainter.
QStylePainter::QStylePainter(QPaintDevice *pd, int *w)
Default constructs an instance of QStylePainter.