QAbstract3DSeries Class

QAbstract3DSeries 类是所有三维数据系列的基类。更多

头文件: #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 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::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 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 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::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最小三维网格:三角形金字塔。仅适用于Q3DScatterWidgetItem
QAbstract3DSeries::Mesh::Arrow10箭头向上。
QAbstract3DSeries::Mesh::Point11二维点。仅适用于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)

另请参阅 colorStyleQGraphsTheme::seriesColors

baseGradient : QLinearGradient

该属性用于保存序列的基本梯度。

访问功能

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

通知信号:

void baseGradientChanged(const QLinearGradient &gradient)

另请参阅 colorStyleQGraphsTheme::seriesGradients

colorStyle : QGraphsTheme::ColorStyle

该属性用于保存系列的颜色样式。

访问功能:

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

通知信号:

void colorStyleChanged(QGraphsTheme::ColorStyle style)

另请参阅 QGraphsTheme::ColorStyle

[read-only] itemLabel : const QString

该属性包含格式化的项目标签。

如果没有选定项目或选定项目不可见,则返回空字符串。

访问功能:

QString itemLabel()

Notifier 信号:

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)

Notifier 信号:

void itemLabelVisibleChanged(bool visible)

另请参阅 itemLabelFormatitemLabel

mesh : QAbstract3DSeries::Mesh

该属性包含系列中项目的网格。

对于QSurface3DSeries ,此属性保存选择指针。

如果网格是 MeshUserDefined(用户定义网格),则还必须设置userDefinedMesh 属性才能正确渲染项目。默认值取决于图形类型。

访问功能:

QAbstract3DSeries::Mesh mesh() const
void setMesh(QAbstract3DSeries::Mesh mesh)

通知信号:

void meshChanged(QAbstract3DSeries::Mesh mesh)

meshRotation : QQuaternion

此属性包含应用于系列中所有项目的网格旋转。

旋转应该是一个归一化的QQuaternionQBar3DSeries 会忽略任何不围绕 Y 轴的旋转。QSurface3DSeries 仅将旋转应用于选择指针。默认为不旋转。

访问功能:

QQuaternion meshRotation() const
void setMeshRotation(const QQuaternion &rotation)

通知信号:

void meshRotationChanged(const QQuaternion &rotation)

meshSmooth : bool

此属性表示是否使用预定义网格的平滑版本。

如果true ,则使用通过mesh 属性设置的平滑版本。此属性不影响将网格设置为用户自定义网格时使用的自定义网格。默认为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)

另请参阅 colorStyleQGraphsTheme::multiHighlightColor

multiHighlightGradient : QLinearGradient

该属性用于保存系列的多项目高亮渐变。

访问功能:

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

通知信号:

void multiHighlightGradientChanged(const QLinearGradient &gradient)

另请参阅 colorStyleQGraphsTheme::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)

另请参阅 colorStyleQGraphsTheme::singleHighlightColor

singleHighlightGradient : QLinearGradient

该属性用于保存系列的单项高亮渐变。

访问功能:

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

通知信号:

void singleHighlightGradientChanged(const QLinearGradient &gradient)

另请参阅 colorStyleQGraphsTheme::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)

Notifier 信号:

void visibleChanged(bool visible)

成员函数文档

[override virtual noexcept] QAbstract3DSeries::~QAbstract3DSeries()

删除抽象 3D 系列。

[invokable] void QAbstract3DSeries::setMeshAxisAndAngle(QVector3D axis, float angle)

axisangle 构建网格旋转四元数的方便函数。

注: 可通过元对象系统和 QML 调用此函数。参见Q_INVOKABLE

另请参见 meshRotation

© 2025 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.