本页内容

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
被继承类:

QBar3DSeries、QScatter3DSeries 以及QSurface3DSeries

公共类型

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::Shaded0图表响应实时照明
QAbstract3DSeries::LightingMode::Unshaded-1图表不响应实时照明

enum class QAbstract3DSeries::Mesh

预定义的网格类型。并非所有样式都适用于所有图表类型。

常量值描述
QAbstract3DSeries::Mesh::UserDefined0用户自定义网格,通过QAbstract3DSeries::userDefinedMesh 属性设置。
QAbstract3DSeries::Mesh::Bar1基本矩形柱形图。
QAbstract3DSeries::Mesh::Cube2基本立方体。
QAbstract3DSeries::Mesh::Pyramid3四面金字塔。
QAbstract3DSeries::Mesh::Cone4基本圆锥体。
QAbstract3DSeries::Mesh::Cylinder5基本圆柱体。
QAbstract3DSeries::Mesh::BevelBar6略微倒角(圆角)的矩形棒。
QAbstract3DSeries::Mesh::BevelCube7略微倒角(圆角)的立方体。
QAbstract3DSeries::Mesh::Sphere8球体。
QAbstract3DSeries::Mesh::Minimal9最简3D网格:三角锥。仅适用于Q3DScatterWidgetItem 。
QAbstract3DSeries::Mesh::Arrow10向上箭头。
QAbstract3DSeries::Mesh::Point112D点。仅可与Q3DScatterWidgetItem 配合使用。阴影不会影响此样式。此样式不支持颜色样式QGraphsTheme::ColorStyle::ObjectGradient 。

enum class QAbstract3DSeries::SeriesType

序列类型。

常量值描述
QAbstract3DSeries::SeriesType::None0无序列类型。
QAbstract3DSeries::SeriesType::Bar1Q3DBarsWidgetItem 的系列类型。
QAbstract3DSeries::SeriesType::Scatter2Q3DScatterWidgetItem 的序列类型。
QAbstract3DSeries::SeriesType::Surface3Q3DSurfaceWidgetItem 的序列类型。

属性文档

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.