QStylePainter 类是方便类用于绘制 QStyle 元素在 Widget 内。 更多...
头: | #include <QStylePainter> |
CMake: |
find_package(Qt6 COMPONENTS Widgets REQUIRED)
target_link_libraries(mytarget PRIVATE Qt6::Widgets) |
qmake: | QT += widgets |
继承: | QPainter |
QStylePainter (QPaintDevice * pd , QWidget * widget ) | |
QStylePainter (QWidget * widget ) | |
QStylePainter () | |
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 = QPalette::NoRole) |
void | drawPrimitive (QStyle::PrimitiveElement pe , const QStyleOption & option ) |
QStyle * | style () const |
QStylePainter 延伸
QPainter
采用一组高级
draw...()
函数实现基于
QStyle
的 API。使用 QStylePainter 的优点是参数列表会变得相当短。而
QStyle
对象能够在任何 Widget 中绘制必须使用任何描绘器 (因为应用程序通常有一
QStyle
对象由所有 Widget 共享),QStylePainter 采用 Widget 初始化,无需指定
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 使用 pd 对于其描绘设备,且属性来自 widget .
构造 QStylePainter 使用小部件 widget 对于其描绘设备。
构造 QStylePainter。
开始描绘操作在指定
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 .