本页内容

QAbstract3DSeries Class

QAbstract3DSeries 类是所有数据序列的基类。更多内容...

头文件: #include <QAbstract3DSeries>
CMake: find_package(Qt6 REQUIRED COMPONENTS DataVisualization)
target_link_libraries(mytarget PRIVATE Qt6::DataVisualization)
qmake: QT += datavisualization
自: QtDataVisualization 1.0
在 QML 中: Abstract3DSeries
继承自: QObject
被继承类:

QBar3DSeries、QScatter3DSeries 以及QSurface3DSeries

状态: 已弃用

该类已弃用。我们强烈建议不要在新代码中使用它。

公共类型

enum Mesh { MeshUserDefined, MeshBar, MeshCube, MeshPyramid, MeshCone, …, MeshPoint }
enum SeriesType { SeriesTypeNone, SeriesTypeBar, SeriesTypeScatter, SeriesTypeSurface }

属性

公共函数

virtual ~QAbstract3DSeries()
QColor baseColor() const
QLinearGradient baseGradient() const
Q3DTheme::ColorStyle colorStyle() const
bool isItemLabelVisible() const
bool isMeshSmooth() const
bool isVisible() const
QString itemLabel() const
QString itemLabelFormat() const
QAbstract3DSeries::Mesh mesh() const
QQuaternion meshRotation() const
QColor multiHighlightColor() const
QLinearGradient multiHighlightGradient() const
QString name() const
void setBaseColor(const QColor &color)
void setBaseGradient(const QLinearGradient &gradient)
void setColorStyle(Q3DTheme::ColorStyle style)
void setItemLabelFormat(const QString &format)
void setItemLabelVisible(bool visible)
void setMesh(QAbstract3DSeries::Mesh mesh)
void setMeshAxisAndAngle(const QVector3D &axis, float angle)
void setMeshRotation(const QQuaternion &rotation)
void setMeshSmooth(bool enable)
void setMultiHighlightColor(const QColor &color)
void setMultiHighlightGradient(const QLinearGradient &gradient)
void setName(const QString &name)
void setSingleHighlightColor(const 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(const QColor &color)
void baseGradientChanged(const QLinearGradient &gradient)
void colorStyleChanged(Q3DTheme::ColorStyle style)
void itemLabelChanged(const QString &label)
void itemLabelFormatChanged(const QString &format)
void itemLabelVisibilityChanged(bool visible)
void meshChanged(QAbstract3DSeries::Mesh mesh)
void meshRotationChanged(const QQuaternion &rotation)
void meshSmoothChanged(bool enabled)
void multiHighlightColorChanged(const QColor &color)
void multiHighlightGradientChanged(const QLinearGradient &gradient)
void nameChanged(const QString &name)
void singleHighlightColorChanged(const QColor &color)
void singleHighlightGradientChanged(const QLinearGradient &gradient)
void userDefinedMeshChanged(const QString &fileName)
void visibilityChanged(bool visible)

详细说明

每种受支持的序列类型都有相应的继承类:QBar3DSeries 、QScatter3DSeries 和QSurface3DSeries 。

有关详细信息,请参阅《Qt Data Visualization 数据处理》。

成员类型文档

enum QAbstract3DSeries::Mesh

预定义网格类型。并非所有样式都适用于所有可视化类型。

常量值描述
QAbstract3DSeries::MeshUserDefined0用户自定义网格,通过QAbstract3DSeries::userDefinedMesh 属性设置。
QAbstract3DSeries::MeshBar1基本矩形条形图。
QAbstract3DSeries::MeshCube2基本立方体。
QAbstract3DSeries::MeshPyramid3四面金字塔。
QAbstract3DSeries::MeshCone4基本圆锥体。
QAbstract3DSeries::MeshCylinder5基本圆柱体。
QAbstract3DSeries::MeshBevelBar6略微倒角(圆角)的矩形棒。
QAbstract3DSeries::MeshBevelCube7略微倒角(圆角)的立方体。
QAbstract3DSeries::MeshSphere8球体。
QAbstract3DSeries::MeshMinimal9最简 3D 网格:一个三角锥。仅可与 Q3DScatter 配合使用。
QAbstract3DSeries::MeshArrow10向上箭头。
QAbstract3DSeries::MeshPoint112D点。仅可与Q3DScatter配合使用。阴影不会影响此样式。此样式不支持颜色样式Q3DTheme::ColorStyleObjectGradient 。

enum QAbstract3DSeries::SeriesType

序列类型。

常量值描述
QAbstract3DSeries::SeriesTypeNone0无系列类型。
QAbstract3DSeries::SeriesTypeBar1Q3DBars 的系列类型。
QAbstract3DSeries::SeriesTypeScatter2Q3DScatter 的序列类型。
QAbstract3DSeries::SeriesTypeSurface4Q3DSurface 的系列类型。

属性文档

baseColor : QColor

该属性存储了该系列的基础颜色。

访问函数:

QColor baseColor() const
void setBaseColor(const QColor &color)

通知信号:

void baseColorChanged(const QColor &color)

另请参阅 colorStyle 和Q3DTheme::baseColors 。

baseGradient : QLinearGradient

该属性存储该序列的基础渐变。

访问函数:

QLinearGradient baseGradient() const
void setBaseGradient(const QLinearGradient &gradient)

通知信号:

void baseGradientChanged(const QLinearGradient &gradient)

另请参阅 colorStyle 和Q3DTheme::baseGradients 。

colorStyle : Q3DTheme::ColorStyle

该属性用于设置系列颜色样式。

访问函数:

Q3DTheme::ColorStyle colorStyle() const
void setColorStyle(Q3DTheme::ColorStyle style)

通知信号:

void colorStyleChanged(Q3DTheme::ColorStyle style)

另请参阅 Q3DTheme::ColorStyle 。

[read-only, since QtDataVisualization 1.1] itemLabel : QString

该属性存储格式化后的项目标签。

如果没有选中的项目,或者选中的项目不可见,则返回一个空字符串。

该枚举在 QtDataVisualization 1.1 中引入。

访问函数:

QString itemLabel() const

通知信号:

void itemLabelChanged(const QString &label)

另请参阅 itemLabelFormat 。

itemLabelFormat : QString

该属性用于存储该序列中数据项的标签格式。

该格式用于单个项目标签,例如当选中某个项目时。该格式的解释方式取决于系列类型:QBar3DSeries、QScatter3DSeries、QSurface3DSeries。

访问函数:

QString itemLabelFormat() const
void setItemLabelFormat(const QString &format)

通知器信号:

void itemLabelFormatChanged(const QString &format)

[since QtDataVisualization 1.1] itemLabelVisible : bool

此属性控制图表中项目标签的可见性。

如果true ,项目标签将作为浮动标签绘制在图表中。否则,项目标签不会被绘制。若要在外部控件中显示项目标签,应将此属性设置为false 。默认值为true 。

该枚举在 QtDataVisualization 1.1 中引入。

访问函数:

bool isItemLabelVisible() const
void setItemLabelVisible(bool visible)

通知信号:

void itemLabelVisibilityChanged(bool visible)

另请参阅 itemLabelFormat 和itemLabel 。

mesh : 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(const QColor &color)

通知信号:

void multiHighlightColorChanged(const QColor &color)

另请参阅 colorStyle 和Q3DTheme::multiHighlightColor 。

multiHighlightGradient : QLinearGradient

该属性存储了该系列的多项高亮渐变。

访问函数:

QLinearGradient multiHighlightGradient() const
void setMultiHighlightGradient(const QLinearGradient &gradient)

通知器信号:

void multiHighlightGradientChanged(const QLinearGradient &gradient)

另请参阅 colorStyle 和Q3DTheme::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(const QColor &color)

通知信号:

void singleHighlightColorChanged(const QColor &color)

另请参阅 colorStyle 和Q3DTheme::singleHighlightColor 。

singleHighlightGradient : QLinearGradient

该属性存储了该序列中单个项目的高亮渐变。

访问函数:

QLinearGradient singleHighlightGradient() const
void setSingleHighlightGradient(const QLinearGradient &gradient)

通知信号:

void singleHighlightGradientChanged(const QLinearGradient &gradient)

另请参阅 colorStyle 和Q3DTheme::singleHighlightGradient 。

[read-only] type : const SeriesType

该属性保存序列的类型。

访问函数:

QAbstract3DSeries::SeriesType type() const

userDefinedMesh : QString

该属性存储对象的用户自定义网格的文件名。

当“mesh ”设置为“MeshUserDefined ”时,将使用该自定义网格。

注意:该文件 必须为 Wavefront OBJ 格式,并包含顶点、法线和 UV 坐标。此外,该文件必须由三角面组成。

访问函数:

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 visibilityChanged(bool visible)

成员函数文档

[virtual noexcept] QAbstract3DSeries::~QAbstract3DSeries()

删除抽象3D系列。

[invokable] void QAbstract3DSeries::setMeshAxisAndAngle(const 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.