Q3DTheme 类

Q3DTheme 类提供图表的视觉样式。 更多...

头文件 #include <Q3DTheme>
CMakefind_package(Qt6 REQUIRED COMPONENTS Graphs)
target_link_libraries(mytarget PRIVATE Qt6::Graphs)
qmakeQT += graphs
由以下实例化 Theme3D
继承自 QObjectQQmlParserStatus
状态技术预览

公共类型

枚举类型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
QColorbackgroundColor() const
Q3DTheme::ColorStylecolorStyle() const
QFontfont() const
QColorgridLineColor() const
布尔值isBackgroundEnabled() const
布尔值isGridEnabled() const
布尔值isLabelBackgroundEnabled() const
布尔值isLabelBorderEnabled() const
布尔值isLabelsEnabled() const
QColorlabelBackgroundColor() const
QColorlabelTextColor() const
QColorlightColor() const
浮点数lightStrength() const
QColormultiHighlightColor() 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
QColorsingleHighlightColor() const
Q3DTheme::Themetype() const
QColorwindowColor() 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 属性来覆盖,以在系列中显式设置: baseColorsbaseGradientscolorStyle

可以使用 UserDefined 枚举值从头创建主题。使用默认构造函数创建主题将生成一个新的用户定义主题。

默认主题

以下表格列出了主题控制和 UserDefined 的默认值。

使用示例

不修改创建内置主题

Q3DTheme *theme = new Q3DTheme(Q3DTheme::Theme::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)));

创建内置主题后修改一些属性

Q3DBars *graph = new Q3DBars();
graph->activeTheme()->setType(Q3DTheme::Theme::PrimaryColors);
QList<QColor> color = { QColor(Qt::red) };
graph->activeTheme()->setBaseColors(color);
graph->activeTheme()->setSingleHighlightColor(Qt::yellow);

成员类型文档

枚举类 Q3DTheme::ColorStyle

颜色样式。

常量描述
Q3DTheme::ColorStyle::Uniform0对象以单色绘制。使用的颜色在 baseColorssingleHighlightColormultiHighlightColor 属性中指定。
Q3DTheme::ColorStyle::ObjectGradient1使用每个对象的完整渐变对对象进行着色,而不管对象的高度。使用的渐变在 baseGradientssingleHighlightGradientmultiHighlightGradient 属性中指定。
Q3DTheme::ColorStyle::RangeGradient2

常量描述
0
1
2
3
4
5
6
7

浮点数
无返回值

无返回值

QColor
无返回值

无返回值

布尔值
无返回值

无返回值

该值可以通过在系列中显式设置 baseGradient 来覆盖。

颜色样式 : Q3DTheme::ColorStyle

此属性存储了图表颜色的样式。

ColorStyle 枚举值之一。

该值可以通过在系列中显式设置 colorStyle 来覆盖。

Q3DTheme::ColorStylecolorStyle() const
无返回值setColorStyle(Q3DTheme::ColorStyle style)

无返回值colorStyleChanged(Q3DTheme::ColorStyle style)

字体 : QFont

此属性存储用于标签的字体。

QFontfont() const
无返回值setFont(const QFont &font)

无返回值fontChanged(const QFont &font)

网格启用 : bool

此属性存储是否绘制网格线。

该值影响所有网格线。

布尔值isGridEnabled() const
无返回值setGridEnabled(bool enabled)

无返回值gridEnabledChanged(bool enabled)

网格线颜色 : QColor

此属性存储网格线的颜色。

QColorgridLineColor() const
无返回值setGridLineColor(const QColor &color)

无返回值gridLineColorChanged(const QColor &color)

标签背景颜色 : QColor

此属性存储标签背景的颜色。

如果 labelBackgroundEnabledfalse,则无效果。

QColorlabelBackgroundColor() const
无返回值setLabelBackgroundColor(const QColor &color)

无返回值labelBackgroundColorChanged(const QColor &color)

标签背景启用 : bool

此属性存储标签是否用带有颜色的背景或完全透明的背景绘制。

labelBackgroundColor 的值(包括 alpha)用于绘图背景。

带有背景的标签根据最长的标签按每个轴的大小绘制,文本居中;没有背景的标签按原样绘制,并根据其在图表中的位置左对齐或右对齐。

布尔值isLabelBackgroundEnabled() const
无返回值setLabelBackgroundEnabled(bool enabled)

无返回值labelBackgroundEnabledChanged(bool enabled)

标签边框启用 : bool

此属性存储是否为具有背景的标签绘制边框。

如果 labelBackgroundEnabledfalse,则无效果。

布尔值isLabelBorderEnabled() const
无返回值setLabelBorderEnabled(bool enabled)

无返回值labelBorderEnabledChanged(bool enabled)

标签文本颜色 : QColor

此属性存储用于标签的字体颜色。

QColorlabelTextColor() const
无返回值setLabelTextColor(const QColor &color)

无返回值labelTextColorChanged(const QColor &color)

labelsEnabled : bool

此属性表示是否绘制标签。

如果设置为false,则所有其他标签属性无效。

布尔值isLabelsEnabled() const
无返回值setLabelsEnabled(bool enabled)

无返回值labelsEnabledChanged(bool enabled)

lightColor : QColor

此属性保存环境光和反射光的颜色。

该值会影响Q3DScene中指定的光线。

QColorlightColor() const
无返回值setLightColor(const QColor &color)

无返回值lightColorChanged(const QColor &color)

lightStrength : float

此属性保存整个图形的光泽光强度。

值必须在0.0f10.0f之间。

该值会影响Q3DScene中指定的光线。

浮点数lightStrength() const
无返回值setLightStrength(float strength)

无返回值lightStrengthChanged(float strength)

multiHighlightColor : QColor

此属性保存所选对象的突出显示颜色。

selectionMode设置有QAbstract3DGraph::SelectionRowQAbstract3DGraph::SelectionColumn标志时使用。

QColormultiHighlightColor() const
无返回值setMultiHighlightColor(const QColor &color)

无返回值multiHighlightColorChanged(const QColor &color)

multiHighlightGradient : QJSValue

此属性保存所选对象的突出显示渐变。

selectionMode设置有QAbstract3DGraph::SelectionRowQAbstract3DGraph::SelectionColumn标志时使用。

无返回值setMultiHighlightGradient(const QLinearGradient &gradient)

无返回值multiHighlightGradientChangedQML(QJSValue gradient)

shadowStrength : float

此属性保存整个图形的阴影强度。

数字越高,阴影越暗。值必须在0.0100.0之间。

该值会影响Q3DScene中指定的光线。

浮点数shadowStrength() const
无返回值setShadowStrength(float strength)

无返回值shadowStrengthChanged(float strength)

singleHighlightColor : QColor

此属性保存选定对象的突出显示颜色。

selectionMode设置有QAbstract3DGraph::SelectionItem标志时使用。

QColorsingleHighlightColor() 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::Themetype() const
无返回值setType(Q3DTheme::Theme themeType)

无返回值typeChanged(Q3DTheme::Theme themeType)

windowColor : QColor

该属性保存图表绘制到的应用程序窗口的颜色。

QColorwindowColor() 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 商业有限公司及其全球子公司和关联公司的商标。所有其他商标均为其各自所有者的财产。