QBarDataProxy Class
QBarDataProxy 类是三维条形图的数据代理。更多
Header: | #include <QBarDataProxy> |
CMake: | find_package(Qt6 REQUIRED COMPONENTS Graphs) target_link_libraries(mytarget PRIVATE Qt6::Graphs) |
qmake: | QT += graphs |
在 QML 中: | BarDataProxy |
继承: | QAbstractDataProxy |
继承于: |
- 所有成员的列表,包括继承成员
- QBarDataProxy 是Qt Graphs C++ Classes for 3D 的一部分。
属性
公共功能
QBarDataProxy(QObject *parent = nullptr) | |
virtual | ~QBarDataProxy() override |
qsizetype | addRow(QBarDataRow row) |
qsizetype | addRow(QBarDataRow row, QString label) |
qsizetype | addRows(QBarDataArray rows) |
qsizetype | addRows(QBarDataArray rows, QStringList labels) |
qsizetype | colCount() const |
void | insertRow(qsizetype rowIndex, QBarDataRow row) |
void | insertRow(qsizetype rowIndex, QBarDataRow row, QString label) |
void | insertRows(qsizetype rowIndex, QBarDataArray rows) |
void | insertRows(qsizetype rowIndex, QBarDataArray rows, QStringList labels) |
const QBarDataItem & | itemAt(QPoint position) const |
const QBarDataItem & | itemAt(qsizetype rowIndex, qsizetype columnIndex) const |
void | removeRows(qsizetype rowIndex, qsizetype removeCount, QBarDataProxy::RemoveLabels removeLabels = RemoveLabels::No) |
void | resetArray() |
void | resetArray(QBarDataArray newArray) |
void | resetArray(QBarDataArray newArray, QStringList rowLabels, QStringList columnLabels) |
const QBarDataRow & | rowAt(qsizetype rowIndex) const |
qsizetype | rowCount() const |
QBar3DSeries * | series() const |
void | setItem(QPoint position, QBarDataItem item) |
void | setItem(qsizetype rowIndex, qsizetype columnIndex, QBarDataItem item) |
void | setRow(qsizetype rowIndex, QBarDataRow row) |
void | setRow(qsizetype rowIndex, QBarDataRow row, QString label) |
void | setRows(qsizetype rowIndex, QBarDataArray rows) |
void | setRows(qsizetype rowIndex, QBarDataArray rows, QStringList labels) |
信号
void | arrayReset() |
void | colCountChanged(qsizetype count) |
void | itemChanged(qsizetype rowIndex, qsizetype columnIndex) |
void | rowCountChanged(qsizetype count) |
void | rowsAdded(qsizetype startIndex, qsizetype count) |
void | rowsChanged(qsizetype startIndex, qsizetype count) |
void | rowsInserted(qsizetype startIndex, qsizetype count) |
void | rowsRemoved(qsizetype startIndex, qsizetype count) |
void | seriesChanged(QBar3DSeries *series) |
相关非成员
详细说明
条形数据代理可处理数据行的添加、插入、更改和删除。
数据数组是QBarDataItem 实例的向量(行)列表。每一行可以包含不同数量的项目,甚至可以为空。
QBarDataProxy 拥有传递给它的所有 QtGraphs::QBarDataRow 对象的所有权,无论是直接传递还是在 QtGraphs::QBarDataArray 容器中传递。如果在将数组添加到代理后使用条形图数据行指针直接修改数据,则必须发出相应信号以更新图形。
QBarDataProxy 可选择跟踪行和列标签,QCategory3DAxis ,以显示坐标轴标签。
行和列标签与序列中的数据分开存储在一个数组中。代理中提供行处理方法,并提供不影响行标签的替代版本。这使得行标签可以与数组中数据的位置而非数据本身相关。由于序列包含数据以及行和列标签,因此在使用这些函数之前,有必要创建一个与代理相关联的序列。
另请参阅 Qt Graphs 3D 数据处理。
属性文档
[read-only]
colCount : const qsizetype
此属性用于保存数组中的列数。
访问功能:
qsizetype | colCount() const |
通知信号
void | colCountChanged(qsizetype count) |
[read-only]
rowCount : const qsizetype
此属性保存数组中的行数。
访问功能:
qsizetype | rowCount() const |
通知信号
void | rowCountChanged(qsizetype count) |
[read-only]
series : QBar3DSeries* const
此属性表示此代理所连接的系列。
访问功能:
QBar3DSeries * | series() const |
Notifier 信号:
void | seriesChanged(QBar3DSeries *series) |
成员函数文档
[explicit]
QBarDataProxy::QBarDataProxy(QObject *parent = nullptr)
用给定的parent 构建条形数据代理。
[override virtual noexcept]
QBarDataProxy::~QBarDataProxy()
删除条形图数据代理。
qsizetype QBarDataProxy::addRow(QBarDataRow row)
将新行row 添加到数组末尾。现有的行标签不受影响。
返回新增行的索引。
qsizetype QBarDataProxy::addRow(QBarDataRow row, QString label)
在数组末尾添加标有label 的新行row 。
返回新增行的索引。
qsizetype QBarDataProxy::addRows(QBarDataArray rows)
将新的rows 添加到数组末尾。现有的行标签不受影响。
返回第一个添加行的索引。
qsizetype QBarDataProxy::addRows(QBarDataArray rows, QStringList labels)
将带有labels 的新rows 添加到数组末尾。
返回第一行的索引。
[signal]
void QBarDataProxy::arrayReset()
数据数组重置时会发出该信号。如果在未调用resetArray() 的情况下更改了整个数组的内容,则需要发出此信号来更新图形。
void QBarDataProxy::insertRow(qsizetype rowIndex, QBarDataRow row)
将新行row 插入rowIndex 。如果rowIndex 等于数组大小,则行会被添加到数组末尾。现有的行标签不受影响。
注意: 如果在插入行之外还有标签行,则调用后行标签数组将与行数组不同步。
void QBarDataProxy::insertRow(qsizetype rowIndex, QBarDataRow row, QString label)
将标有label 的新行row 插入rowIndex 。如果rowIndex 等于数组大小,则行被添加到数组末尾。
void QBarDataProxy::insertRows(qsizetype rowIndex, QBarDataArray rows)
将新的rows 插入rowIndex 。如果rowIndex 等于数组大小,则行会被添加到数组末尾。现有的行标签不受影响。
注意: 如果在插入的行之外还有标签行,则调用后行标签数组将与行数组不同步。
void QBarDataProxy::insertRows(qsizetype rowIndex, QBarDataArray rows, QStringList labels)
将新的rows 与labels 插入rowIndex 。如果rowIndex 等于数组大小,则行被添加到数组末尾。
const QBarDataItem &QBarDataProxy::itemAt(QPoint position) const
返回position 位置的项目引用。position 的 x 值表示行,y 值表示列。在下一次调用修改数据之前,该项目保证有效。
const QBarDataItem &QBarDataProxy::itemAt(qsizetype rowIndex, qsizetype columnIndex) const
返回rowIndex 和columnIndex 所指定位置的项目引用。该引用保证只在下一次调用修改数据之前有效。
[signal]
void QBarDataProxy::itemChanged(qsizetype rowIndex, qsizetype columnIndex)
当rowIndex 和columnIndex 所指定位置上的项目发生变化时,将发出该信号。如果未调用setItem() 就更改了数组中的项目,则需要发出此信号来更新图形。
void QBarDataProxy::removeRows(qsizetype rowIndex, qsizetype removeCount, QBarDataProxy::RemoveLabels removeLabels = RemoveLabels::No)
从rowIndex 位置开始,移除removeCount 指定的行数。试图删除超过数组末尾的行数不会有任何效果。如果removeLabels 是true
,则相应的行标签也会被移除。否则,行标签不受影响。
注意: 如果removeLabels 是false
,则如果在移除的行之外还有标签行,行标签数组将与行数组不同步。
void QBarDataProxy::resetArray()
清除现有数组以及行和列标签。
void QBarDataProxy::resetArray(QBarDataArray newArray)
获取数组newArray 的所有权。如果新数组与现有数组不同,则清除现有数组。如果数组相同,该函数只会触发arrayReset() 信号。
传递一个空数组会删除旧数组并创建一个新的空数组。行和列标签不受影响。
void QBarDataProxy::resetArray(QBarDataArray newArray, QStringList rowLabels, QStringList columnLabels)
获取数组newArray 的所有权。如果新数组与现有数组不同,则清除现有数组。如果数组相同,该函数只会触发arrayReset() 信号。
传递一个空数组会删除旧数组并创建一个新的空数组。
rowLabels 和columnLabels 列表指定了行和列的新标签。
const QBarDataRow &QBarDataProxy::rowAt(qsizetype rowIndex) const
返回位于rowIndex 位置的行的引用。保证在下一次调用修改数据之前有效。
[signal]
void QBarDataProxy::rowsAdded(qsizetype startIndex, qsizetype count)
当从startIndex 位置开始添加count 指定的行数时,将发出该信号。如果在未调用addRow() 或addRows() 的情况下向数组添加行数,则需要发出此信号以更新图形。
[signal]
void QBarDataProxy::rowsChanged(qsizetype startIndex, qsizetype count)
当count 指定的行数从startIndex 开始发生变化时,将发出该信号。如果数组中的行数在未调用setRow() 或setRows() 的情况下发生变化,则需要发出此信号来更新图形。
[signal]
void QBarDataProxy::rowsInserted(qsizetype startIndex, qsizetype count)
当count 指定的行数被插入startIndex 的位置时,就会发出该信号。
如果在未调用insertRow() 或insertRows() 的情况下将行插入数组,则需要发出此信号以更新图形。
[signal]
void QBarDataProxy::rowsRemoved(qsizetype startIndex, qsizetype count)
从startIndex 位置开始,移除count 指定的行数时,会发出该信号。
如果行是从数组末尾移除的,则索引为当前数组大小。如果在未调用removeRows() 的情况下从数组中移除行,则需要发出此信号以更新图形。
void QBarDataProxy::setItem(QPoint position, QBarDataItem item)
将position 位置上的单个项目更改为项目item 。position 的 x 值表示行,y 值表示列。
void QBarDataProxy::setItem(qsizetype rowIndex, qsizetype columnIndex, QBarDataItem item)
将rowIndex 和columnIndex 指定位置上的单个项目更改为项目item 。
void QBarDataProxy::setRow(qsizetype rowIndex, QBarDataRow row)
更改现有记录,用row 指定的新记录替换rowIndex 位置的记录。新行可以与已存储在rowIndex 的现有行相同。现有的行标签不受影响。
void QBarDataProxy::setRow(qsizetype rowIndex, QBarDataRow row, QString label)
更改现有记录,用row 指定的新记录替换rowIndex 位置的记录。新行可以与已存储在rowIndex 的现有行相同。将行标签更改为label 。
void QBarDataProxy::setRows(qsizetype rowIndex, QBarDataArray rows)
更改现有行,用rows 指定的新行替换从rowIndex 位置开始的行。现有的行标签不受影响。rows 数组中的行可以与已存储在rowIndex 的现有行相同。
void QBarDataProxy::setRows(qsizetype rowIndex, QBarDataArray rows, QStringList labels)
更改现有记录,用rows 指定的新记录替换从rowIndex 位置开始的记录。行标签更改为labels 。rows 数组中的行可以与已存储在rowIndex 的现有行相同。
© 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.