QScatter3DSeries Class
QScatter3DSeries 类表示三维散点图中的数据系列。更多内容...
| 头文件: | #include <QScatter3DSeries> |
| CMake: | find_package(Qt6 REQUIRED COMPONENTS Graphs) target_link_libraries(mytarget PRIVATE Qt6::Graphs) |
| qmake: | QT += graphs |
| 在 QML 中: | Scatter3DSeries |
| 继承自: | QAbstract3DSeries |
| 被继承类: |
- 所有成员列表(包括继承的成员)
- QScatter3DSeries 属于Qt Graphs 的3D C++ 类。
属性
|
公共函数
| QScatter3DSeries(QObject *parent = nullptr) | |
| QScatter3DSeries(QScatterDataProxy *dataProxy, QObject *parent = nullptr) | |
| virtual | ~QScatter3DSeries() override |
| QValue3DAxis * | axisX() const |
| QValue3DAxis * | axisY() const |
| QValue3DAxis * | axisZ() const |
| void | clearArray() |
| void | clearScaleArray() |
| const QScatterDataArray & | dataArray() const & |
| QScatterDataArray | dataArray() && |
| QScatterDataProxy * | dataProxy() const |
| float | itemSize() const |
| void | resetAxisX() |
| void | resetAxisY() |
| void | resetAxisZ() |
| const QList<QVector3D> & | scaleArray() const & |
| QList<QVector3D> | scaleArray() && |
| qsizetype | selectedItem() const |
| void | setAxisX(QValue3DAxis *axis) |
| void | setAxisY(QValue3DAxis *axis) |
| void | setAxisZ(QValue3DAxis *axis) |
| void | setDataArray(const QScatterDataArray &newDataArray) |
| void | setDataProxy(QScatterDataProxy *proxy) |
| void | setItemSize(float size) |
| void | setScaleArray(const QList<QVector3D> &newScaleArray) |
| void | setSelectedItem(qsizetype index) |
信号
| void | axisXChanged(QValue3DAxis *axis) |
| void | axisYChanged(QValue3DAxis *axis) |
| void | axisZChanged(QValue3DAxis *axis) |
| void | dataArrayChanged(const QScatterDataArray &array) |
| void | dataProxyChanged(QScatterDataProxy *proxy) |
| void | itemSizeChanged(float size) |
| void | scaleArrayChanged(const QList<QVector3D> &scaleArray) |
| void | selectedItemChanged(qsizetype index) |
静态公共成员
| qsizetype | invalidSelectionIndex() |
详细描述
该类管理特定系列的视觉元素以及系列数据(通过数据代理)。
关于代理与系列的关系,必须强调几个关键点。 在此背景下,数据存储在系列中,用户可以通过系列访问数据集。该系列由一个代理对象控制或表示。因此,代理可用于管理数据上的各种操作并更新实际数据集。但是,要编辑数据集,必须创建一个与该代理关联的系列。
如果未为序列显式设置数据代理,则序列会创建一个默认代理。设置另一个代理将销毁现有代理以及添加到该序列中的所有数据。
QScatter3DSeries 支持以下用于 `QAbstract3DSeries::setItemLabelFormat()` 的格式标签:
| @xTitle | x 轴标题 |
| @yTitle | y 轴标题 |
| @zTitle | z轴标题 |
| @xLabel | 使用 x 轴格式显示的项目值。有关详细信息,请参阅QValue3DAxis::labelFormat 。 |
| @yLabel | 使用 y 轴格式设置的项目值。有关详细信息,请参阅QValue3DAxis::labelFormat 。 |
| @zLabel | 项目值采用 z 轴的格式进行格式化。有关详细信息,请参阅QValue3DAxis::labelFormat 。 |
| @seriesName | 系列名称 |
例如:
proxy->setItemLabelFormat(QStringLiteral("@yTitle for (@xLabel, @zLabel): %.1f"));另请参阅 Qt Graphs 中的“3D 数据处理”。
属性文档
[since 6.11] axisX : QValue3DAxis*
为该系列保留一个额外的 X 轴。如果指定了该轴,则该系列将根据该轴的最小值和最大值进行拟合。
该枚举类型在 Qt 6.11 中引入。
访问函数:
| QValue3DAxis * | axisX() const |
| void | setAxisX(QValue3DAxis *axis) |
| void | resetAxisX() |
通知器信号:
| void | axisXChanged(QValue3DAxis *axis) |
[since 6.11] axisY : QValue3DAxis*
为该数据系列保留一个额外的 Y 轴。如果指定了该轴,则该数据系列将根据该轴的最小值和最大值进行拟合。
此枚举类型在 Qt 6.11 中引入。
访问函数:
| QValue3DAxis * | axisY() const |
| void | setAxisY(QValue3DAxis *axis) |
| void | resetAxisY() |
通知器信号:
| void | axisYChanged(QValue3DAxis *axis) |
[since 6.11] axisZ : QValue3DAxis*
为该系列保留一个额外的 Z 轴。如果指定了该轴,则该系列将根据该轴的最小值和最大值进行拟合。
该枚举在 Qt 6.11 中引入。
访问函数:
| QValue3DAxis * | axisZ() const |
| void | setAxisZ(QValue3DAxis *axis) |
| void | resetAxisZ() |
通知器信号:
| void | axisZChanged(QValue3DAxis *axis) |
dataArray : QScatterDataArray
该系列的数据数组。
保存对数据数组的引用。
当数据数组被设置时,会触发 dataArrayChanged 信号,除非newDataArray 与上一个完全相同。
注意:在 对数据数组进行任何操作之前 ,必须为相关代理创建一个系列。
访问函数:
| const QScatterDataArray & | dataArray() const & |
| QScatterDataArray | dataArray() && |
| void | setDataArray(const QScatterDataArray &newDataArray) |
通知信号:
| void | dataArrayChanged(const QScatterDataArray &array) |
另请参阅 clearArray()。
dataProxy : QScatterDataProxy*
该属性存储活动数据代理。
将该序列的活动数据代理设置为proxy 。该序列将接管其上设置的任何代理,并在添加新代理时删除先前设置的代理。proxy 参数不能为空,也不能设置为另一个序列。
访问函数:
| QScatterDataProxy * | dataProxy() const |
| void | setDataProxy(QScatterDataProxy *proxy) |
通知器信号:
| void | dataProxyChanged(QScatterDataProxy *proxy) |
itemSize : float
该系列的条目大小。
大小必须在0.0f 和1.0f 之间。将大小设置为0.0f 会导致项目大小根据图表中所有系列的总项目数自动缩放。
预设默认值为0.0f 。
访问函数:
| float | itemSize() const |
| void | setItemSize(float size) |
通知信号:
| void | itemSizeChanged(float size) |
scaleArray : QList<QVector3D>
该系列的刻度数组。
保存对缩放数组的引用。
当缩放数组被设置时,会触发 scaleArrayChanged 信号,除非newScaleArray 与上一个完全相同。
注意:在 对缩放数组进行任何操作之前 ,必须为相关代理创建一个系列。
注意:如果 未为数据指定比例,将使用默认值 (1.0,1.0,1.0)。
访问函数:
| const QList<QVector3D> & | scaleArray() const & |
| QList<QVector3D> | scaleArray() && |
| void | setScaleArray(const QList<QVector3D> &newScaleArray) |
通知器信号:
| void | scaleArrayChanged(const QList<QVector3D> &scaleArray) |
另请参阅 clearScaleArray()。
selectedItem : qsizetype
该属性存储了该系列中选中的项目。
选择系列数据数组中索引为index 的项。每次只能选择一项。
要清除该系列中的选中状态,需将 `invalidSelectionIndex()` 设置为 `index`。如果该系列被添加到图表中,图表可根据用户交互或当选中状态失效时自动调整选中状态。在另一个已添加的系列上选中项目也会清除当前选中状态。
从该系列中移除项目,或在选定项目之前插入项目,都会调整选定状态,以确保该项目保持被选中。
访问函数:
| qsizetype | selectedItem() const |
| void | setSelectedItem(qsizetype index) |
通知信号:
| void | selectedItemChanged(qsizetype index) |
成员函数文档
[explicit] QScatter3DSeries::QScatter3DSeries(QObject *parent = nullptr)
使用父对象parent 构建一个散点图3D系列。
[explicit] QScatter3DSeries::QScatter3DSeries(QScatterDataProxy *dataProxy, QObject *parent = nullptr)
使用数据代理dataProxy 和父对象parent 构建一个散点图 3D 系列。
[override virtual noexcept] QScatter3DSeries::~QScatter3DSeries()
删除“scatter” 3D 系列。
void QScatter3DSeries::clearArray()
清空数据数组。
void QScatter3DSeries::clearScaleArray()
清除 scale 数组。
[static] qsizetype QScatter3DSeries::invalidSelectionIndex()
返回一个用于取消选中的无效索引。将该索引设置为selectedItem 属性,即可清除该系列中的选中项。
© 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.