Q3DTheme 类
Q3DTheme 类提供图表的视觉样式。 更多...
| 头文件 | #include <Q3DTheme> | 
| CMake | find_package(Qt6 REQUIRED COMPONENTS Graphs) target_link_libraries(mytarget PRIVATE Qt6::Graphs) | 
| qmake | QT += graphs | 
| 由以下实例化 | Theme3D | 
| 继承自 | QObject 和 QQmlParserStatus | 
| 状态 | 技术预览 | 
- 所有成员的列表,包括继承的成员
- Q3DTheme 是 Qt Graphs C++ 类(用于 3D) 的一部分。
公共类型
| 枚举类型 | ColorStyle { Uniform, ObjectGradient, RangeGradient } | 
| 枚举类型 | Theme { Qt, PrimaryColors, StoneMoss, ArmyBlue, Retro, …, UserDefined } | 
属性
| 
 | 
 | 
公共函数
| Q3DTheme(QObject *parent = nullptr) | |
| Q3DTheme(Q3DTheme::Theme themeType, QObject *parent = nullptr) | |
| 虚拟 | ~Q3DTheme() 继承重载 | 
| 浮点数 | ambientLightStrength() const | 
| QColor | backgroundColor() const | 
| Q3DTheme::ColorStyle | colorStyle() const | 
| QFont | font() const | 
| QColor | gridLineColor() const | 
| 布尔值 | isBackgroundEnabled() const | 
| 布尔值 | isGridEnabled() const | 
| 布尔值 | isLabelBackgroundEnabled() const | 
| 布尔值 | isLabelBorderEnabled() const | 
| 布尔值 | isLabelsEnabled() const | 
| QColor | labelBackgroundColor() const | 
| QColor | labelTextColor() const | 
| QColor | lightColor() const | 
| 浮点数 | lightStrength() const | 
| QColor | multiHighlightColor() const | 
| 无返回值 | setAmbientLightStrength(float strength) | 
| 无返回值 | setBackgroundColor(const QColor &color) | 
| 无返回值 | setBackgroundEnabled(bool enabled) | 
| 无返回值 | setColorStyle(Q3DTheme::ColorStyle style) | 
| 无返回值 | setFont(const QFont &font) | 
| 无返回值 | setGridEnabled(bool enabled) | 
| 无返回值 | setGridLineColor(const QColor &color) | 
| 无返回值 | setLabelBackgroundColor(const QColor &color) | 
| 无返回值 | setLabelBackgroundEnabled(bool enabled) | 
| 无返回值 | setLabelBorderEnabled(bool enabled) | 
| 无返回值 | setLabelTextColor(const QColor &color) | 
| 无返回值 | setLabelsEnabled(bool enabled) | 
| 无返回值 | setLightColor(const QColor &color) | 
| 无返回值 | setLightStrength(float strength) | 
| 无返回值 | setMultiHighlightColor(const QColor &color) | 
| 无返回值 | setMultiHighlightGradient(const QLinearGradient &gradient) | 
| 无返回值 | setShadowStrength(float strength) | 
| 无返回值 | setSingleHighlightColor(const QColor &color) | 
| 无返回值 | setSingleHighlightGradient(const QLinearGradient &gradient) | 
| 无返回值 | setType(Q3DTheme::Theme themeType) | 
| 无返回值 | setWindowColor(const QColor &color) | 
| 浮点数 | shadowStrength() const | 
| QColor | singleHighlightColor() const | 
| Q3DTheme::Theme | type() const | 
| QColor | windowColor() const | 
信号
| 无返回值 | ambientLightStrengthChanged(float strength) | 
| 无返回值 | backgroundColorChanged(const QColor &color) | 
| 无返回值 | backgroundEnabledChanged(bool enabled) | 
| 无返回值 | colorStyleChanged(Q3DTheme::ColorStyle style) | 
| 无返回值 | fontChanged(const QFont &font) | 
| 无返回值 | gridEnabledChanged(bool enabled) | 
| 无返回值 | gridLineColorChanged(const QColor &color) | 
| 无返回值 | labelBackgroundColorChanged(const QColor &color) | 
| 无返回值 | labelBackgroundEnabledChanged(bool enabled) | 
| 无返回值 | labelBorderEnabledChanged(bool enabled) | 
| 无返回值 | labelTextColorChanged(const QColor &color) | 
| 无返回值 | labelsEnabledChanged(bool enabled) | 
| 无返回值 | lightColorChanged(const QColor &color) | 
| 无返回值 | lightStrengthChanged(float strength) | 
| 无返回值 | multiHighlightColorChanged(const QColor &color) | 
| 无返回值 | multiHighlightGradientChangedQML(QJSValue gradient) | 
| 无返回值 | shadowStrengthChanged(float strength) | 
| 无返回值 | singleHighlightColorChanged(const QColor &color) | 
| 无返回值 | singleHighlightGradientQMLChanged(QJSValue gradient) | 
| 无返回值 | typeChanged(Q3DTheme::Theme themeType) | 
| 无返回值 | windowColorChanged(const QColor &color) | 
详细说明
指定影响整个图的所有视觉属性。有几个内置主题可直接使用或自由修改。
以下属性可以通过使用 QAbstract3DSeries 属性来覆盖,以在系列中显式设置: baseColors、baseGradients 和 colorStyle。
可以使用 UserDefined 枚举值从头创建主题。使用默认构造函数创建主题将生成一个新的用户定义主题。
默认主题
以下表格列出了主题控制和 UserDefined 的默认值。
| 属性 | 默认值 | 
|---|---|
| 环境光照强度 | 0.25 | 
| 背景颜色 | Qt::黑色 | 
| 背景启用 | true | 
| 基础颜色 | Qt::黑色 | 
| 基础渐变 | QLinearGradient。基本上是完全黑色。 | 
| 颜色样式 | 均匀 | 
| 字体 | QFont | 
| 网格启用 | true | 
| 网格线条颜色 | Qt::白色 | 
| 标签背景颜色 | Qt::灰色 | 
| 标签背景启用 | true | 
| 标签边框启用 | true | 
| 标签文字颜色 | Qt::白色 | 
| 标签启用 | true | 
| 光照颜色 | Qt::白色 | 
| 光照强度 | 5.0 | 
| 多高亮颜色 | Qt::蓝色 | 
| 多高亮渐变 | QLinearGradient。基本上是完全黑色。 | 
| 阴影强度 | 25.0 | 
| 单高亮颜色 | Qt::红色 | 
| 单高亮渐变 | QLinearGradient。基本上是完全黑色。 | 
| 窗口颜色 | Qt::黑色 | 
使用示例
不修改创建内置主题
创建内置主题并修改一些属性
Q3DTheme *theme = new Q3DTheme(Q3DTheme::Theme::Qt); theme->setBackgroundEnabled(false); theme->setLabelBackgroundEnabled(false);
创建用户定义主题
Q3DTheme *theme = new Q3DTheme(); theme->setAmbientLightStrength(0.3f); theme->setBackgroundColor(QColor(QRgb(0x99ca53))); theme->setBackgroundEnabled(true); QList<QColor> colors = { QColor(QRgb(0x209fdf)) }; theme->setBaseColors(colors); theme->setColorStyle(Q3DTheme::ColorStyle::Uniform); theme->setFont(QFont(QStringLiteral("Impact"), 35)); theme->setGridEnabled(true); theme->setGridLineColor(QColor(QRgb(0x99ca53))); theme->setLabelBackgroundColor(QColor(0xf6, 0xa6, 0x25, 0xa0)); theme->setLabelBackgroundEnabled(true); theme->setLabelBorderEnabled(true); theme->setLabelTextColor(QColor(QRgb(0x404044))); theme->setLightColor(Qt::white); theme->setLightStrength(6.0f); theme->setMultiHighlightColor(QColor(QRgb(0x6d5fd5))); theme->setSingleHighlightColor(QColor(QRgb(0xf6a625))); theme->setWindowColor(QColor(QRgb(0xffffff)));
创建内置主题后修改一些属性
成员类型文档
枚举类 Q3DTheme::ColorStyle
颜色样式。
| 常量 | 值 | 描述 | 
|---|---|---|
| Q3DTheme::ColorStyle::Uniform | 0 | 对象以单色绘制。使用的颜色在 baseColors、singleHighlightColor 和 multiHighlightColor 属性中指定。 | 
| Q3DTheme::ColorStyle::ObjectGradient | 1 | 使用每个对象的完整渐变对对象进行着色,而不管对象的高度。使用的渐变在 baseGradients、singleHighlightGradient 和 multiHighlightGradient 属性中指定。 | 
| Q3DTheme::ColorStyle::RangeGradient | 2 | 
| 常量 | 值 | 描述 | 
|---|---|---|
|  | 0 | |
|  | 1 | |
|  | 2 | |
|  | 3 | |
|  | 4 | |
|  | 5 | |
|  | 6 | |
|  | 7 | 
| 浮点数 | |
| 无返回值 | 
| 无返回值 | 
| QColor | |
| 无返回值 | 
| 无返回值 | 
| 布尔值 | |
| 无返回值 | 
| 无返回值 | 
该值可以通过在系列中显式设置 baseGradient 来覆盖。
颜色样式 : Q3DTheme::ColorStyle
此属性存储了图表颜色的样式。
是 ColorStyle 枚举值之一。
该值可以通过在系列中显式设置 colorStyle 来覆盖。
| Q3DTheme::ColorStyle | colorStyle() const | 
| 无返回值 | setColorStyle(Q3DTheme::ColorStyle style) | 
| 无返回值 | colorStyleChanged(Q3DTheme::ColorStyle style) | 
字体 : QFont
此属性存储用于标签的字体。
| QFont | font() const | 
| 无返回值 | setFont(const QFont &font) | 
| 无返回值 | fontChanged(const QFont &font) | 
网格启用 : bool
此属性存储是否绘制网格线。
该值影响所有网格线。
| 布尔值 | isGridEnabled() const | 
| 无返回值 | setGridEnabled(bool enabled) | 
| 无返回值 | gridEnabledChanged(bool enabled) | 
网格线颜色 : QColor
此属性存储网格线的颜色。
| QColor | gridLineColor() const | 
| 无返回值 | setGridLineColor(const QColor &color) | 
| 无返回值 | gridLineColorChanged(const QColor &color) | 
标签背景颜色 : QColor
此属性存储标签背景的颜色。
如果 labelBackgroundEnabled 为 false,则无效果。
| QColor | labelBackgroundColor() const | 
| 无返回值 | setLabelBackgroundColor(const QColor &color) | 
| 无返回值 | labelBackgroundColorChanged(const QColor &color) | 
标签背景启用 : bool
此属性存储标签是否用带有颜色的背景或完全透明的背景绘制。
labelBackgroundColor 的值(包括 alpha)用于绘图背景。
带有背景的标签根据最长的标签按每个轴的大小绘制,文本居中;没有背景的标签按原样绘制,并根据其在图表中的位置左对齐或右对齐。
| 布尔值 | isLabelBackgroundEnabled() const | 
| 无返回值 | setLabelBackgroundEnabled(bool enabled) | 
| 无返回值 | labelBackgroundEnabledChanged(bool enabled) | 
标签边框启用 : bool
此属性存储是否为具有背景的标签绘制边框。
如果 labelBackgroundEnabled 为 false,则无效果。
| 布尔值 | isLabelBorderEnabled() const | 
| 无返回值 | setLabelBorderEnabled(bool enabled) | 
| 无返回值 | labelBorderEnabledChanged(bool enabled) | 
标签文本颜色 : QColor
此属性存储用于标签的字体颜色。
| QColor | labelTextColor() const | 
| 无返回值 | setLabelTextColor(const QColor &color) | 
| 无返回值 | labelTextColorChanged(const QColor &color) | 
labelsEnabled : bool
此属性表示是否绘制标签。
如果设置为false,则所有其他标签属性无效。
| 布尔值 | isLabelsEnabled() const | 
| 无返回值 | setLabelsEnabled(bool enabled) | 
| 无返回值 | labelsEnabledChanged(bool enabled) | 
lightColor : QColor
此属性保存环境光和反射光的颜色。
该值会影响Q3DScene中指定的光线。
| QColor | lightColor() const | 
| 无返回值 | setLightColor(const QColor &color) | 
| 无返回值 | lightColorChanged(const QColor &color) | 
lightStrength : float
此属性保存整个图形的光泽光强度。
值必须在0.0f和10.0f之间。
该值会影响Q3DScene中指定的光线。
| 浮点数 | lightStrength() const | 
| 无返回值 | setLightStrength(float strength) | 
| 无返回值 | lightStrengthChanged(float strength) | 
multiHighlightColor : QColor
此属性保存所选对象的突出显示颜色。
当selectionMode设置有QAbstract3DGraph::SelectionRow或QAbstract3DGraph::SelectionColumn标志时使用。
| QColor | multiHighlightColor() const | 
| 无返回值 | setMultiHighlightColor(const QColor &color) | 
| 无返回值 | multiHighlightColorChanged(const QColor &color) | 
multiHighlightGradient : QJSValue
此属性保存所选对象的突出显示渐变。
当selectionMode设置有QAbstract3DGraph::SelectionRow或QAbstract3DGraph::SelectionColumn标志时使用。
| 无返回值 | setMultiHighlightGradient(const QLinearGradient &gradient) | 
| 无返回值 | multiHighlightGradientChangedQML(QJSValue gradient) | 
shadowStrength : float
此属性保存整个图形的阴影强度。
数字越高,阴影越暗。值必须在0.0和100.0之间。
该值会影响Q3DScene中指定的光线。
| 浮点数 | shadowStrength() const | 
| 无返回值 | setShadowStrength(float strength) | 
| 无返回值 | shadowStrengthChanged(float strength) | 
singleHighlightColor : QColor
此属性保存选定对象的突出显示颜色。
当selectionMode设置有QAbstract3DGraph::SelectionItem标志时使用。
| QColor | singleHighlightColor() const | 
| 无返回值 | setSingleHighlightColor(const QColor &color) | 
| 无返回值 | singleHighlightColorChanged(const QColor &color) | 
singleHighlightGradient : QJSValue
此属性保存选定对象的突出显示渐变。
当selectionMode设置有QAbstract3DGraph::SelectionItem标志时使用。
| 无返回值 | setSingleHighlightGradient(const QLinearGradient &gradient) | 
| 无返回值 | singleHighlightGradientQMLChanged(QJSValue gradient) | 
type : Q3DTheme::Theme
该属性保存主题的类型。
当构造主题时会自动设置类型,但也可以稍后更改。更改主题类型会将主题的所有其他属性更改为主定义的主题指定的属性。更改图表活动主题的主题类型还将重置所有附加序列使用新的主题。
| Q3DTheme::Theme | type() const | 
| 无返回值 | setType(Q3DTheme::Theme themeType) | 
| 无返回值 | typeChanged(Q3DTheme::Theme themeType) | 
windowColor : QColor
该属性保存图表绘制到的应用程序窗口的颜色。
| QColor | windowColor() const | 
| 无返回值 | setWindowColor(const QColor &color) | 
| 无返回值 | windowColorChanged(const QColor &color) | 
成员函数文档
[显式] Q3DTheme::Q3DTheme(QObject *parent = nullptr)
构建一个新主题,类型为UserDefined。可以给出可选的 parent 参数,然后传递给 QObject 构造函数。
[显式] Q3DTheme::Q3DTheme(Q3DTheme::Theme themeType, QObject *parent = nullptr)
构建一个带有themeType 的新主题,该类型可以是Theme 中从内置主题之一。可以给出可选的 parent 参数,然后传递给 QObject 构造函数。
[重写虚函数 noexcept] Q3DTheme::~Q3DTheme()
销毁主题。
© 2024 Qt 商业有限公司。此处包含的文档贡献属于其各自的版权所有者。此处提供的文档根据自由软件基金会发布的GNU 自由文档许可证版本 1.3 的条款获得许可。Qt 及相关标志是芬兰的 Qt 商业有限公司及其全球子公司和关联公司的商标。所有其他商标均为其各自所有者的财产。