QStyleOptionGraphicsItem Class

QStyleOptionGraphicsItem 类用于描述绘制QGraphicsItem 所需参数。

头文件: #include <QStyleOptionGraphicsItem>
CMake: find_package(Qt6 REQUIRED COMPONENTS Widgets)
target_link_libraries(mytarget PRIVATE Qt6::Widgets)
qmake: QT += widgets
继承: QStyleOption

公共类型

enum StyleOptionType { Type }
enum StyleOptionVersion { Version }

公共函数

QStyleOptionGraphicsItem()
QStyleOptionGraphicsItem(const QStyleOptionGraphicsItem &other)

公共变量

QRectF exposedRect

静态公共成员

qreal levelOfDetailFromTransform(const QTransform &worldTransform)

详细说明

出于性能考虑,成员函数很少,而且成员变量的访问是直接的(即使用.-> 操作符)。这使得结构简单易用,并强调这些只是样式函数使用的参数。

另请参见 QStyleOptionQGraphicsItem::paint()。

成员类型文档

enum QStyleOptionGraphicsItem::StyleOptionType

该枚举用于保存有关样式选项类型的信息,并为每个QStyleOption 子类定义。

常量描述
QStyleOptionGraphicsItem::TypeSO_GraphicsItem提供的样式选项的类型(SO_GraphicsItem 适用于该类)。

QStyleOption 及其子类和qstyleoption_cast() 内部使用该类型来确定样式选项的类型。一般来说,除非您想创建自己的QStyleOption 子类和自己的样式,否则不需要担心这个问题。

另请参见 StyleOptionVersion

enum QStyleOptionGraphicsItem::StyleOptionVersion

该枚举用于保存有关样式选项版本的信息,并为每个QStyleOption 子类定义。

常量说明
QStyleOptionGraphicsItem::Version11

该版本用于QStyleOption 子类在不破坏兼容性的情况下实现扩展。如果使用qstyleoption_cast() ,通常不需要检查它。

另请参阅 StyleOptionType

成员函数文档

QStyleOptionGraphicsItem::QStyleOptionGraphicsItem()

构造一个 QStyleOptionGraphicsItem。

QStyleOptionGraphicsItem::QStyleOptionGraphicsItem(const QStyleOptionGraphicsItem &other)

构造other 的副本。

[static] qreal QStyleOptionGraphicsItem::levelOfDetailFromTransform(const QTransform &worldTransform)

返回worldTransform 的详细程度。

其值代表统一矩形的高度和宽度的最大值,使用绘制项目所用的worldTransform 映射。默认情况下,如果未应用任何变换,其值为 1;如果按 1:2 放大,细节级别将为 0.5;如果按 2:1 放大,其值为 2。

另请参阅 QGraphicsScene::minimumRenderSize()。

成员变量文档

QRectF QStyleOptionGraphicsItem::exposedRect

此变量保存以项目坐标表示的外露矩形。

当只有部分项目外露时,使用此矩形可加快项目绘制速度。如果整个项目都显示出来,该矩形将与QGraphicsItem::boundingRect() 相同。

只有设置了QGraphicsItem::ItemUsesExtendedStyleOption 标志的项目才会初始化该成员。

© 2025 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.