QStylePainter 类

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 ()

构造 QStylePainter .

QStylePainter:: QStylePainter ( QWidget * widget )

构造 QStylePainter using widget widget 对于其描绘设备。

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

构造 QStylePainter 使用 pd 对于其描绘设备,且属性来自 widget .

bool QStylePainter:: begin ( QWidget * widget )

开始描绘操作在指定 widget 。返回 true 若描绘器使用就绪;否则返回 false .

这被自动调用通过构造函数接受 QWidget .

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

这是重载函数。

开始描绘操作在描绘设备 pd 就像它是 widget .

这被自动调用通过构造函数接受 QPaintDevice QWidget .

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

使用 Widget 的样式来绘制复杂控件 cc 指定通过 QStyleOptionComplex option .

另请参阅 QStyle::drawComplexControl ().

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

使用 Widget 的样式来绘制控件元素 ce 指定通过 QStyleOption option .

另请参阅 QStyle::drawControl ().

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

绘制 pixmap 按矩形 rect 。像素图的对齐是根据 flags .

另请参阅 QStyle::drawItemPixmap () 和 Qt::Alignment .

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

绘制 text 按矩形 rect 和调色板 pal 。文本的对齐和换行是根据 flags .

钢笔颜色的指定是采用 textRole enabled 布尔指示是否启用项;当重实现此布尔时,应该会影响如何绘制项。

另请参阅 QStyle::drawItemText () 和 Qt::Alignment .

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

使用 Widget 样式绘制图元元素 pe 指定通过 QStyleOption option .

另请参阅 QStyle::drawPrimitive ().

QStyle *QStylePainter:: style () const

返回的当前样式用于 QStylePainter .