QAbstract3DSeries Class
QAbstract3DSeries 类是所有 3D 数据序列的基类。更多内容...
| 头文件: | #include <QAbstract3DSeries> |
| CMake: | find_package(Qt6 REQUIRED COMPONENTS Graphs) target_link_libraries(mytarget PRIVATE Qt6::Graphs) |
| qmake: | QT += graphs |
| 在 QML 中: | Abstract3DSeries |
| 继承自: | QObject |
| 被继承类: |
- 所有成员列表(包括继承的成员)
- QAbstract3DSeries 属于Qt Graphs 3D C++ 类库。
公共类型
| enum class | LightingMode { Shaded, Unshaded } |
| enum class | Mesh { UserDefined, Bar, Cube, Pyramid, Cone, …, Point } |
| enum class | SeriesType { None, Bar, Scatter, Surface } |
属性
|
|
公共函数
| virtual | ~QAbstract3DSeries() override |
| QColor | baseColor() const |
| QLinearGradient | baseGradient() const |
| QGraphsTheme::ColorStyle | colorStyle() const |
| bool | isItemLabelVisible() const |
| bool | isMeshSmooth() const |
| bool | isVisible() const |
| QString | itemLabel() |
| QString | itemLabelFormat() const |
| QAbstract3DSeries::LightingMode | lightingMode() const |
| QAbstract3DSeries::Mesh | mesh() const |
| QQuaternion | meshRotation() const |
| QColor | multiHighlightColor() const |
| QLinearGradient | multiHighlightGradient() const |
| QString | name() const |
| void | setBaseColor(QColor color) |
| void | setBaseGradient(const QLinearGradient &gradient) |
| void | setColorStyle(QGraphsTheme::ColorStyle style) |
| void | setItemLabelFormat(const QString &format) |
| void | setItemLabelVisible(bool visible) |
| void | setLightingMode(QAbstract3DSeries::LightingMode lightingMode) |
| void | setMesh(QAbstract3DSeries::Mesh mesh) |
| void | setMeshAxisAndAngle(QVector3D axis, float angle) |
| void | setMeshRotation(const QQuaternion &rotation) |
| void | setMeshSmooth(bool enable) |
| void | setMultiHighlightColor(QColor color) |
| void | setMultiHighlightGradient(const QLinearGradient &gradient) |
| void | setName(const QString &name) |
| void | setSingleHighlightColor(QColor color) |
| void | setSingleHighlightGradient(const QLinearGradient &gradient) |
| void | setUserDefinedMesh(const QString &fileName) |
| void | setVisible(bool visible) |
| QColor | singleHighlightColor() const |
| QLinearGradient | singleHighlightGradient() const |
| QAbstract3DSeries::SeriesType | type() const |
| QString | userDefinedMesh() const |
信号
| void | baseColorChanged(QColor color) |
| void | baseGradientChanged(const QLinearGradient &gradient) |
| void | colorStyleChanged(QGraphsTheme::ColorStyle style) |
| void | itemLabelChanged(const QString &label) |
| void | itemLabelFormatChanged(const QString &format) |
| void | itemLabelVisibleChanged(bool visible) |
| void | lightingModeChanged(QAbstract3DSeries::LightingMode lightingMode) |
| void | meshChanged(QAbstract3DSeries::Mesh mesh) |
| void | meshRotationChanged(const QQuaternion &rotation) |
| void | meshSmoothChanged(bool enabled) |
| void | multiHighlightColorChanged(QColor color) |
| void | multiHighlightGradientChanged(const QLinearGradient &gradient) |
| void | nameChanged(const QString &name) |
| void | singleHighlightColorChanged(QColor color) |
| void | singleHighlightGradientChanged(const QLinearGradient &gradient) |
| void | userDefinedMeshChanged(const QString &fileName) |
| void | visibleChanged(bool visible) |
详细说明
每种受支持的序列类型都有相应的继承类:QBar3DSeries 、QScatter3DSeries 和QSurface3DSeries 。
有关详细信息,请参阅《Qt Graphs 3D 数据处理》。
成员类型文档
enum class QAbstract3DSeries::LightingMode
预设照明模式
| 恒定 | 值 | 描述 |
|---|---|---|
QAbstract3DSeries::LightingMode::Shaded | 0 | 图表响应实时照明 |
QAbstract3DSeries::LightingMode::Unshaded | -1 | 图表不响应实时照明 |
enum class QAbstract3DSeries::Mesh
预定义的网格类型。并非所有样式都适用于所有图表类型。
| 常量 | 值 | 描述 |
|---|---|---|
QAbstract3DSeries::Mesh::UserDefined | 0 | 用户自定义网格,通过QAbstract3DSeries::userDefinedMesh 属性设置。 |
QAbstract3DSeries::Mesh::Bar | 1 | 基本矩形柱形图。 |
QAbstract3DSeries::Mesh::Cube | 2 | 基本立方体。 |
QAbstract3DSeries::Mesh::Pyramid | 3 | 四面金字塔。 |
QAbstract3DSeries::Mesh::Cone | 4 | 基本圆锥体。 |
QAbstract3DSeries::Mesh::Cylinder | 5 | 基本圆柱体。 |
QAbstract3DSeries::Mesh::BevelBar | 6 | 略微倒角(圆角)的矩形棒。 |
QAbstract3DSeries::Mesh::BevelCube | 7 | 略微倒角(圆角)的立方体。 |
QAbstract3DSeries::Mesh::Sphere | 8 | 球体。 |
QAbstract3DSeries::Mesh::Minimal | 9 | 最简3D网格:三角锥。仅适用于Q3DScatterWidgetItem 。 |
QAbstract3DSeries::Mesh::Arrow | 10 | 向上箭头。 |
QAbstract3DSeries::Mesh::Point | 11 | 2D点。仅可与Q3DScatterWidgetItem 配合使用。阴影不会影响此样式。此样式不支持颜色样式QGraphsTheme::ColorStyle::ObjectGradient 。 |
enum class QAbstract3DSeries::SeriesType
序列类型。
| 常量 | 值 | 描述 |
|---|---|---|
QAbstract3DSeries::SeriesType::None | 0 | 无序列类型。 |
QAbstract3DSeries::SeriesType::Bar | 1 | Q3DBarsWidgetItem 的系列类型。 |
QAbstract3DSeries::SeriesType::Scatter | 2 | Q3DScatterWidgetItem 的序列类型。 |
QAbstract3DSeries::SeriesType::Surface | 3 | Q3DSurfaceWidgetItem 的序列类型。 |
属性文档
baseColor : QColor
该属性存储系列的基础颜色。
访问函数:
| QColor | baseColor() const |
| void | setBaseColor(QColor color) |
通知信号:
| void | baseColorChanged(QColor color) |
另请参阅 colorStyle 和QGraphsTheme::seriesColors 。
baseGradient : QLinearGradient
该属性保存了该系列的基础渐变。
访问函数:
| QLinearGradient | baseGradient() const |
| void | setBaseGradient(const QLinearGradient &gradient) |
通知信号:
| void | baseGradientChanged(const QLinearGradient &gradient) |
另请参阅 colorStyle 和QGraphsTheme::seriesGradients 。
colorStyle : QGraphsTheme::ColorStyle
该属性用于设置系列颜色样式。
访问函数:
| QGraphsTheme::ColorStyle | colorStyle() const |
| void | setColorStyle(QGraphsTheme::ColorStyle style) |
通知信号:
| void | colorStyleChanged(QGraphsTheme::ColorStyle style) |
另请参阅 QGraphsTheme::ColorStyle 。
[read-only] itemLabel : QString
该属性保存格式化的项目标签。
如果没有选中的项目,或者选中的项目不可见,则返回一个空字符串。
访问函数:
| QString | itemLabel() |
通知信号:
| void | itemLabelChanged(const QString &label) |
另请参阅 itemLabelFormat 。
itemLabelFormat : QString
此属性存储该序列中数据项的标签格式。
该格式用于单个项目标签,例如当选中某个项目时。该格式的解释方式取决于系列类型。
访问函数:
| QString | itemLabelFormat() const |
| void | setItemLabelFormat(const QString &format) |
通知信号:
| void | itemLabelFormatChanged(const QString &format) |
另请参阅 QBar3DSeries 、QScatter3DSeries 以及QSurface3DSeries 。
itemLabelVisible : bool
此属性控制图中项目标签的可见性。
如果true ,项目标签将在图表中以悬浮标签的形式显示。否则,项目标签将不会显示。若要在外部控件中显示项目标签,请将此属性设置为false 。默认值为true 。
访问函数:
| bool | isItemLabelVisible() const |
| void | setItemLabelVisible(bool visible) |
通知信号:
| void | itemLabelVisibleChanged(bool visible) |
另请参阅 itemLabelFormat 和itemLabel 。
[since 6.10] lightingMode : QAbstract3DSeries::LightingMode
该属性保存该系列的照明模式
该枚举在 Qt 6.10 中引入。
访问函数:
| QAbstract3DSeries::LightingMode | lightingMode() const |
| void | setLightingMode(QAbstract3DSeries::LightingMode lightingMode) |
通知信号:
| void | lightingModeChanged(QAbstract3DSeries::LightingMode lightingMode) |
另请参阅 LightingMode 。
mesh : QAbstract3DSeries::Mesh
该属性存储了序列中各项的网格。
对于QSurface3DSeries ,该属性保存选择指针。
如果网格类型为 MeshUserDefined,则必须同时设置userDefinedMesh 属性,以便项目能够正确渲染。默认值取决于图形类型。
访问函数:
| QAbstract3DSeries::Mesh | mesh() const |
| void | setMesh(QAbstract3DSeries::Mesh mesh) |
通知器信号:
| void | meshChanged(QAbstract3DSeries::Mesh mesh) |
meshRotation : QQuaternion
该属性存储应用于该系列所有项的网格旋转值。
旋转应为归一化的QQuaternion 。对于支持项目特定旋转的系列类型,各旋转值将相乘。QBar3DSeries 将忽略任何非围绕y轴的旋转。QSurface3DSeries 仅对选择指针应用旋转。默认不进行旋转。
访问函数:
| QQuaternion | meshRotation() const |
| void | setMeshRotation(const QQuaternion &rotation) |
通知器信号:
| void | meshRotationChanged(const QQuaternion &rotation) |
meshSmooth : bool
该属性用于控制是否使用预定义网格的平滑版本。
若true ,则使用通过mesh 属性设置的平滑版本。当网格设置为MeshUserDefined时,此属性不影响所使用的自定义网格。默认值为false 。
访问函数:
| bool | isMeshSmooth() const |
| void | setMeshSmooth(bool enable) |
通知器信号:
| void | meshSmoothChanged(bool enabled) |
multiHighlightColor : QColor
该属性用于设置系列中多个项目的高亮颜色。
访问函数:
| QColor | multiHighlightColor() const |
| void | setMultiHighlightColor(QColor color) |
通知信号:
| void | multiHighlightColorChanged(QColor color) |
另请参阅 colorStyle 和QGraphsTheme::multiHighlightColor 。
multiHighlightGradient : QLinearGradient
该属性存储了该系列的多项高亮渐变。
访问函数:
| QLinearGradient | multiHighlightGradient() const |
| void | setMultiHighlightGradient(const QLinearGradient &gradient) |
通知信号:
| void | multiHighlightGradientChanged(const QLinearGradient &gradient) |
另请参阅 colorStyle 和QGraphsTheme::multiHighlightGradient 。
name : QString
该属性用于存储系列名称。
该系列名称可在项目标签格式中使用,标签为@seriesName 。
访问函数:
| QString | name() const |
| void | setName(const QString &name) |
通知信号:
| void | nameChanged(const QString &name) |
另请参阅 itemLabelFormat 。
singleHighlightColor : QColor
该属性用于设置系列中单个项的高亮颜色。
访问函数:
| QColor | singleHighlightColor() const |
| void | setSingleHighlightColor(QColor color) |
通知信号:
| void | singleHighlightColorChanged(QColor color) |
另请参阅 colorStyle 和QGraphsTheme::singleHighlightColor 。
singleHighlightGradient : QLinearGradient
该属性存储了该系列中单个项目的高亮渐变。
访问函数:
| QLinearGradient | singleHighlightGradient() const |
| void | setSingleHighlightGradient(const QLinearGradient &gradient) |
通知信号:
| void | singleHighlightGradientChanged(const QLinearGradient &gradient) |
另请参阅 colorStyle 和QGraphsTheme::singleHighlightGradient 。
[read-only] type : const QAbstract3DSeries::SeriesType
该属性存储序列的类型。
访问函数:
| QAbstract3DSeries::SeriesType | type() const |
userDefinedMesh : QString
该属性用于存储对象的用户自定义网格的文件名。
当mesh 的值设为 MeshUserDefined 时,将使用该自定义网格。
注意:该 文件必须采用QtQuick3D 的网格格式。请使用balsam 转换工具,将其他3D模型格式转换为网格。
访问函数:
| QString | userDefinedMesh() const |
| void | setUserDefinedMesh(const QString &fileName) |
通知器信号:
| void | userDefinedMeshChanged(const QString &fileName) |
visible : bool
该属性控制数据系列的可见性。
如果此属性为false ,则不会渲染该系列。默认值为true 。
访问函数:
| bool | isVisible() const |
| void | setVisible(bool visible) |
通知器信号:
| void | visibleChanged(bool visible) |
成员函数文档
[override virtual noexcept] QAbstract3DSeries::~QAbstract3DSeries()
删除抽象3D系列。
[invokable] void QAbstract3DSeries::setMeshAxisAndAngle(QVector3D axis, float angle)
一个便捷函数,用于根据axis 和angle 构建网格旋转四元数。
注意: 可通过元对象系统或从 QML 中调用此 函数。参见Q_INVOKABLE 。
另请参阅 meshRotation 。
© 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.