本页内容

QPaintEngineState Class

QPaintEngineState 类提供了有关当前活动绘图引擎状态的信息。更多内容...

头文件: #include <QPaintEngineState>
CMake: find_package(Qt6 REQUIRED COMPONENTS Gui)
target_link_libraries(mytarget PRIVATE Qt6::Gui)
qmake: QT += gui

注意:该类中的所有函数均为可重入函数。

公共函数

QBrush backgroundBrush() const
Qt::BGMode backgroundMode() const
QBrush brush() const
bool brushNeedsResolving() const
QPointF brushOrigin() const
Qt::ClipOperation clipOperation() const
QPainterPath clipPath() const
QRegion clipRegion() const
QPainter::CompositionMode compositionMode() const
QFont font() const
bool isClipEnabled() const
qreal opacity() const
QPainter *painter() const
QPen pen() const
bool penNeedsResolving() const
QPainter::RenderHints renderHints() const
QPaintEngine::DirtyFlags state() const
QTransform transform() const

详细说明

QPaintEngineState 记录了自上次绘图引擎更新以来发生变化的属性,以及这些属性的当前值。

可以通过调用state()函数,随时获取哪些属性发生了变化。该函数返回一个QPaintEngine::DirtyFlags 类型的实例,其中存储了QPaintEngine::DirtyFlag 值的“或”组合。QPaintEngine::DirtyFlag 枚举定义了自上次更新以来某个属性是否发生了变化。

如果某个属性被标记为“已修改”,则可通过相应的 get 函数获取其当前值:

QPaintEngineState 类还提供了painter() 函数,该函数返回一个指向当前正在更新绘制引擎的绘制器的指针。

该类的实例(代表活动绘制引擎的当前状态)将作为参数传递给QPaintEngine::updateState()函数。您唯一需要直接使用该类的情况,是在实现自定义绘制引擎时。

另请参阅 QPaintEngine 。

成员函数文档

QBrush QPaintEngineState::backgroundBrush() const

返回当前绘制引擎状态下的背景画笔。

仅当 `state()` 返回的组合中包含 `QPaintEngine::DirtyBackground ` 标志时,才应使用此变量。

另请参阅 state() 和QPaintEngine::updateState()。

Qt::BGMode QPaintEngineState::backgroundMode() const

返回当前绘制引擎状态下的背景模式。

仅当 `state()` 返回的组合中包含 `QPaintEngine::DirtyBackgroundMode ` 标志时,才应使用此变量。

另请参阅 state() 和QPaintEngine::updateState()。

QBrush QPaintEngineState::brush() const

返回当前绘图引擎状态下的画笔。

仅当state()返回的组合中包含QPaintEngine::DirtyBrush 标志时,才应使用此变量。

另请参阅 state() 和QPaintEngine::updateState()。

bool QPaintEngineState::brushNeedsResolving() const

返回填充坐标是否被指定为受当前渲染操作的边界限制,并且需要(针对当前渲染的基元)进行解析。

QPointF QPaintEngineState::brushOrigin() const

返回当前绘制引擎状态下的画笔原点。

仅当 `state()` 返回的组合包含 `QPaintEngine::DirtyBrushOrigin ` 标志时,才应使用此变量。

另请参阅 state() 和QPaintEngine::updateState()。

Qt::ClipOperation QPaintEngineState::clipOperation() const

返回当前绘图引擎状态下的裁剪操作。

仅当 `state()` 返回的组合中包含 `QPaintEngine::DirtyClipPath ` 或 `QPaintEngine::DirtyClipRegion ` 标志时,才应使用此变量。

另请参阅 state() 和QPaintEngine::updateState()。

QPainterPath QPaintEngineState::clipPath() const

返回当前绘制引擎状态下的剪切路径。

仅当 `state()` 返回的组合包含 `QPaintEngine::DirtyClipPath ` 标志时,才应使用此变量。

另请参阅 state() 和QPaintEngine::updateState()。

QRegion QPaintEngineState::clipRegion() const

返回当前绘制引擎状态下的剪切区域。

仅当 `state()` 返回的组合包含 `QPaintEngine::DirtyClipRegion ` 标志时,才应使用此变量。

另请参阅 state() 和QPaintEngine::updateState()。

QPainter::CompositionMode QPaintEngineState::compositionMode() const

返回当前绘制引擎状态下的合成模式。

仅当 `state()` 返回的组合包含 `QPaintEngine::DirtyCompositionMode ` 标志时,才应使用此变量。

另请参阅 state() 和QPaintEngine::updateState()。

QFont QPaintEngineState::font() const

返回当前绘制引擎状态下的字体。

仅当 `state()` 返回的组合包含 `QPaintEngine::DirtyFont ` 标志时,才应使用此变量。

另请参阅 state() 和QPaintEngine::updateState()。

bool QPaintEngineState::isClipEnabled() const

返回当前绘制引擎状态下是否启用了裁剪。

仅当 `state()` 返回的组合中包含 `QPaintEngine::DirtyClipEnabled ` 标志时,才应使用此变量。

另请参阅 state() 和QPaintEngine::updateState()。

qreal QPaintEngineState::opacity() const

返回当前绘制引擎状态下的不透明度。

QPainter *QPaintEngineState::painter() const

返回指向当前正在更新绘制引擎的绘制器的指针。

QPen QPaintEngineState::pen() const

返回当前绘图引擎状态下的画笔。

仅当 `state()` 返回的组合中包含 `QPaintEngine::DirtyPen ` 标志时,才应使用此变量。

另请参阅 state() 和QPaintEngine::updateState()。

bool QPaintEngineState::penNeedsResolving() const

返回值表示笔画的坐标是否已被指定为受当前渲染操作的边界限制,并且需要(针对当前渲染的基元)进行解析。

QPainter::RenderHints QPaintEngineState::renderHints() const

返回当前绘制引擎状态下的渲染提示。

仅当 `state()` 返回的组合包含 `QPaintEngine::DirtyHints ` 标志时,才应使用此变量。

另请参阅 state() 和QPaintEngine::updateState()。

QPaintEngine::DirtyFlags QPaintEngineState::state() const

返回一组标志,用于标识在更新绘图引擎状态时(即调用QPaintEngine::updateState()函数期间)需要更新的属性集。

另请参阅 QPaintEngine::updateState()。

QTransform QPaintEngineState::transform() const

返回当前绘制引擎状态下的矩阵。

仅当 `state()` 返回的组合中包含 `QPaintEngine::DirtyTransform ` 标志时,才应使用此变量。

另请参阅 state() 和QPaintEngine::updateState()。

© 2026 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.