本页内容

QScatterDataProxy Class

QScatterDataProxy 类是 3D 散点图的数据代理。更多内容...

头文件: #include <QScatterDataProxy>
CMake: find_package(Qt6 REQUIRED COMPONENTS Graphs)
target_link_libraries(mytarget PRIVATE Qt6::Graphs)
qmake: QT += graphs
在 QML 中: ScatterDataProxy
继承自: QAbstractDataProxy
被继承自:

QItemModelScatterDataProxy

属性

公共函数

QScatterDataProxy(QObject *parent = nullptr)
virtual ~QScatterDataProxy() override
qsizetype addItem(QScatterDataItem item)
qsizetype addItems(QScatterDataArray items)
void insertItem(qsizetype index, QScatterDataItem item)
void insertItems(qsizetype index, QScatterDataArray items)
const QScatterDataItem &itemAt(qsizetype index) const
qsizetype itemCount() const
void removeItems(qsizetype index, qsizetype removeCount)
void resetArray()
void resetArray(QScatterDataArray newArray)
void resetScaleArray(QList<QVector3D> newArray)
QVector3D scaleAt(qsizetype index) const
QScatter3DSeries *series() const
void setItem(qsizetype index, QScatterDataItem item)
void setItems(qsizetype index, QScatterDataArray items)

信号

void arrayReset()
void itemCountChanged(qsizetype count)
void itemsAdded(qsizetype startIndex, qsizetype count)
void itemsChanged(qsizetype startIndex, qsizetype count)
void itemsInserted(qsizetype startIndex, qsizetype count)
void itemsRemoved(qsizetype startIndex, qsizetype count)
void seriesChanged(QScatter3DSeries *series)

详细说明

散点图数据代理负责处理数据项的添加、插入、修改和删除。由于数据以系列形式存储,因此在对数据集使用这些函数之前,必须先创建一个与该代理关联的系列。

QScatterDataProxy 会接管所有传递给它的 QtGraphs::QScatterDataArray 和QScatterDataItem 对象的所有权。

另请参阅 《Qt Graphs 3D 数据处理》。

属性文档

[read-only] itemCount : qsizetype

该属性存储数组中的项目数量。

访问函数:

qsizetype itemCount() const

通知信号:

void itemCountChanged(qsizetype count)

[read-only] series : QScatter3DSeries*

该属性存储了此代理所关联的系列。

访问函数:

QScatter3DSeries *series() const

通知器信号:

void seriesChanged(QScatter3DSeries *series)

成员函数文档

[explicit] QScatterDataProxy::QScatterDataProxy(QObject *parent = nullptr)

使用给定的parent 实例化QScatterDataProxy。

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

删除散点数据代理。

qsizetype QScatterDataProxy::addItem(QScatterDataItem item)

将元素item 添加到数组的末尾。

返回已添加项的索引。

qsizetype QScatterDataProxy::addItems(QScatterDataArray items)

将由items 指定的项添加到数组的末尾。

返回第一个添加项的索引。

[signal] void QScatterDataProxy::arrayReset()

当数据数组被重置时,会发出此信号。如果未调用resetArray() 便更改了整个数组的内容,则需要发出此信号以更新图形。

void QScatterDataProxy::insertItem(qsizetype index, QScatterDataItem item)

将元素item 插入到位置index 处。如果索引等于数据数组的大小,则该元素将被添加到数组中。

void QScatterDataProxy::insertItems(qsizetype index, QScatterDataArray items)

将items 指定的项目插入到位置index 处。如果索引值等于数据数组的大小,则这些项目将被添加到数组中。

const QScatterDataItem &QScatterDataProxy::itemAt(qsizetype index) const

返回索引为index 的项的指针。该指针仅在下次修改数据的调用之前保证有效。

[signal] void QScatterDataProxy::itemsAdded(qsizetype startIndex, qsizetype count)

当从位置startIndex 开始,向数组中添加由count 指定的数量的元素时,将发出此信号。如果未调用addItem()或addItems()就向数组中添加了元素,则需要发出此信号以更新图形。

[signal] void QScatterDataProxy::itemsChanged(qsizetype startIndex, qsizetype count)

当由count 指定的项目数量发生变化时(从位置startIndex 开始),将发出此信号。如果未调用setItem()或setItems()就修改了数组中的项目,则需要发出此信号以更新图形。

[signal] void QScatterDataProxy::itemsInserted(qsizetype startIndex, qsizetype count)

当从位置startIndex 开始插入由count 指定的数量的元素时,将发出此信号。如果未调用insertItem()或insertItems()便向数组中插入元素,则需要发出此信号以更新图。

[signal] void QScatterDataProxy::itemsRemoved(qsizetype startIndex, qsizetype count)

当从位置startIndex 开始移除由count 指定的行数时,将发出此信号。如果从数组末尾移除元素,则该索引可能大于当前数组的大小。如果在未调用removeItems()的情况下从数组中移除元素,则需要发出此信号以更新图。

void QScatterDataProxy::removeItems(qsizetype index, qsizetype removeCount)

从位置index 开始,移除由 `removeCount ` 指定的数量的元素。尝试移除数组末尾之后的元素不会产生任何效果。

void QScatterDataProxy::resetArray()

清空现有数组,并触发arrayReset()信号。

void QScatterDataProxy::resetArray(QScatterDataArray newArray)

从newArray 设置数组。如果新数组与现有数组相等,则该函数仅触发arrayReset()信号。

void QScatterDataProxy::resetScaleArray(QList<QVector3D> newArray)

从newArray 设置缩放数组。如果新数组与现有数组相同,则该函数仅触发scaleArrayReset()信号。

QVector3D QScatterDataProxy::scaleAt(qsizetype index) const

返回索引为index 处的比例尺数据。该数据仅在下次修改数据的调用之前保证有效。

void QScatterDataProxy::setItem(qsizetype index, QScatterDataItem item)

将位置为index 的条目替换为条目item 。

void QScatterDataProxy::setItems(qsizetype index, QScatterDataArray items)

将从位置index 开始的项目替换为由items 指定的项目。

相关非成员

[alias] QScatterDataArray

QScatterDataItem 对象的列表。

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