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
继承于:

QItemModelBarDataProxy

属性

公共功能

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)

将新的rowslabels 插入rowIndex 。如果rowIndex 等于数组大小,则行被添加到数组末尾。

const QBarDataItem &QBarDataProxy::itemAt(QPoint position) const

返回position 位置的项目引用。position 的 x 值表示行,y 值表示列。在下一次调用修改数据之前,该项目保证有效。

const QBarDataItem &QBarDataProxy::itemAt(qsizetype rowIndex, qsizetype columnIndex) const

返回rowIndexcolumnIndex 所指定位置的项目引用。该引用保证只在下一次调用修改数据之前有效。

[signal] void QBarDataProxy::itemChanged(qsizetype rowIndex, qsizetype columnIndex)

rowIndexcolumnIndex 所指定位置上的项目发生变化时,将发出该信号。如果未调用setItem() 就更改了数组中的项目,则需要发出此信号来更新图形。

void QBarDataProxy::removeRows(qsizetype rowIndex, qsizetype removeCount, QBarDataProxy::RemoveLabels removeLabels = RemoveLabels::No)

rowIndex 位置开始,移除removeCount 指定的行数。试图删除超过数组末尾的行数不会有任何效果。如果removeLabelstrue ,则相应的行标签也会被移除。否则,行标签不受影响。

注意: 如果removeLabelsfalse ,则如果在移除的行之外还有标签行,行标签数组将与行数组不同步。

void QBarDataProxy::resetArray()

清除现有数组以及行和列标签。

void QBarDataProxy::resetArray(QBarDataArray newArray)

获取数组newArray 的所有权。如果新数组与现有数组不同,则清除现有数组。如果数组相同,该函数只会触发arrayReset() 信号。

传递一个空数组会删除旧数组并创建一个新的空数组。行和列标签不受影响。

void QBarDataProxy::resetArray(QBarDataArray newArray, QStringList rowLabels, QStringList columnLabels)

获取数组newArray 的所有权。如果新数组与现有数组不同,则清除现有数组。如果数组相同,该函数只会触发arrayReset() 信号。

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

rowLabelscolumnLabels 列表指定了行和列的新标签。

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 位置上的单个项目更改为项目itemposition 的 x 值表示行,y 值表示列。

void QBarDataProxy::setItem(qsizetype rowIndex, qsizetype columnIndex, QBarDataItem item)

rowIndexcolumnIndex 指定位置上的单个项目更改为项目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 位置开始的记录。行标签更改为labelsrows 数组中的行可以与已存储在rowIndex 的现有行相同。

相关非会员

[alias] QBarDataArray

指向QBarDataRow 对象的指针列表。

[alias] QBarDataRow

QBarDataItem 对象列表。

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