本页内容

QScatterDataProxy Class

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

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

QItemModelScatterDataProxy

状态: 已弃用

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

属性

公共函数

QScatterDataProxy(QObject *parent = nullptr)
virtual ~QScatterDataProxy()
int addItem(const QScatterDataItem &item)
int addItems(const QScatterDataArray &items)
const QScatterDataArray *array() const
void insertItem(int index, const QScatterDataItem &item)
void insertItems(int index, const QScatterDataArray &items)
const QScatterDataItem *itemAt(int index) const
int itemCount() const
void removeItems(int index, int removeCount)
void resetArray(QScatterDataArray *newArray)
QScatter3DSeries *series() const
void setItem(int index, const QScatterDataItem &item)
void setItems(int index, const QScatterDataArray &items)

信号

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

详细说明

散点数据代理负责处理数据项的添加、插入、修改和删除。

QScatterDataProxy 会获取传递给它的所有 QtDataVisualization::QScatterDataArray 和QScatterDataItem 对象的所有权。

另请参阅 Qt Data Visualization 数据处理。

属性文档

[read-only] itemCount : int

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

访问函数:

int itemCount() const

通知信号:

void itemCountChanged(int count)

[read-only] series : QScatter3DSeries*

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

访问函数:

QScatter3DSeries *series() const

通知器信号:

void seriesChanged(QScatter3DSeries *series)

成员函数文档

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

使用给定的parent 实例化QScatterDataProxy。

[virtual noexcept] QScatterDataProxy::~QScatterDataProxy()

删除散点数据代理。

int QScatterDataProxy::addItem(const QScatterDataItem &item)

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

返回所添加项的索引。

int QScatterDataProxy::addItems(const QScatterDataArray &items)

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

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

const QScatterDataArray *QScatterDataProxy::array() const

返回指向数据数组的指针。

[signal] void QScatterDataProxy::arrayReset()

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

void QScatterDataProxy::insertItem(int index, const QScatterDataItem &item)

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

void QScatterDataProxy::insertItems(int index, const QScatterDataArray &items)

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

const QScatterDataItem *QScatterDataProxy::itemAt(int index) const

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

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

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

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

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

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

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

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

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

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

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

void QScatterDataProxy::resetArray(QScatterDataArray *newArray)

接管数组newArray 的所有权。如果新数组与原数组不同,则清空原数组。如果两个数组相同,则该函数仅触发arrayReset()信号。

传递一个空数组将删除旧数组并创建一个新的空数组。

void QScatterDataProxy::setItem(int index, const QScatterDataItem &item)

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

void QScatterDataProxy::setItems(int index, const QScatterDataArray &items)

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

相关非成员

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.