The QStylePainter class is a convenience class for drawing QStyle 元素在 Widget 内。 更多...
头: | #include <QStylePainter> |
qmake: | QT += widgets |
继承: | QPainter |
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 = ...) |
void | drawPrimitive (QStyle::PrimitiveElement pe , const QStyleOption & option ) |
QStyle * | style () const |
The QStylePainter class is a convenience class for drawing QStyle 元素在 Widget 内。
QStylePainter
extends
QPainter
采用一组高级
draw...()
函数实现基于
QStyle
's API. The advantage of using
QStylePainter
is that the parameter lists get considerably shorter. Whereas a
QStyle
对象能够在任何 Widget 中绘制必须使用任何描绘器 (因为应用程序通常有一
QStyle
object shared by all widget), a
QStylePainter
is initialized with a widget, eliminating the need to specify the
QWidget
,
QPainter
,和
QStyle
对于每个函数调用。
范例使用 QStyle 直接:
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); }
范例使用 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); }
另请参阅 QStyle and QStyleOption .
构造 QStylePainter .
构造 QStylePainter using widget widget 对于其描绘设备。
构造 QStylePainter 使用 pd 对于其描绘设备,且属性来自 widget .
开始描绘操作在指定
widget
。返回
true
若描绘器使用就绪;否则返回
false
.
这被自动调用通过构造函数接受 QWidget .
这是重载函数。
开始描绘操作在描绘设备 pd 就像它是 widget .
这被自动调用通过构造函数接受 QPaintDevice 和 QWidget .
使用 Widget 的样式来绘制复杂控件 cc 指定通过 QStyleOptionComplex option .
另请参阅 QStyle::drawComplexControl ().
使用 Widget 的样式来绘制控件元素 ce 指定通过 QStyleOption option .
另请参阅 QStyle::drawControl ().
绘制 pixmap 按矩形 rect 。像素图的对齐是根据 flags .
另请参阅 QStyle::drawItemPixmap () 和 Qt::Alignment .
绘制 text 按矩形 rect 和调色板 pal 。文本的对齐和换行是根据 flags .
钢笔颜色的指定是采用 textRole 。 enabled 布尔指示是否启用项;当重实现此布尔时,应该会影响如何绘制项。
另请参阅 QStyle::drawItemText () 和 Qt::Alignment .
使用 Widget 样式绘制图元元素 pe 指定通过 QStyleOption option .
另请参阅 QStyle::drawPrimitive ().
返回的当前样式用于 QStylePainter .