QBarDataProxy 类
QBarDataProxy 类是 3D 条形图的数据代理。 更多...
头文件 | #include <QBarDataProxy> |
CMake | find_package(Qt6 REQUIRED COMPONENTS Graphs) target_link_libraries(mytarget PRIVATE Qt6::Graphs) |
qmake | QT += graphs |
实例化者 | BarDataProxy |
继承自 | QAbstractDataProxy |
派生自 | |
状态 | 技术预览 |
- 包含所有成员的列表,包括继承的成员
- QBarDataProxy 是 Qt 图形 3D C++ 类 的一部分。
属性
|
公共函数
QBarDataProxy(QObject *parent = nullptr) | |
virtual | ~QBarDataProxy() override |
int | addRow(QBarDataRow row) |
int | addRow(QBarDataRow row, QString label) |
int | addRows(QBarDataArray rows) |
int | addRows(QBarDataArray rows, QStringList labels) |
const QBarDataArray & | array() const |
int | colCount() const |
QStringList | columnLabels() const |
void | insertRow(int rowIndex, QBarDataRow row) |
void | insertRow(int rowIndex, QBarDataRow row, QString label) |
void | insertRows(int rowIndex, QBarDataArray rows) |
void | insertRows(int rowIndex, QBarDataArray rows, QStringList labels) |
const QBarDataItem & | itemAt(int rowIndex, int columnIndex) const |
const QBarDataItem & | itemAt(const QPoint &position) const |
void | removeRows(int rowIndex, int removeCount, bool removeLabels = true) |
void | resetArray() |
void | resetArray(QBarDataArray newArray) |
void | resetArray(QBarDataArray newArray, QStringList rowLabels, QStringList columnLabels) |
const QBarDataRow & | rowAt(int rowIndex) const |
int | rowCount() const |
QStringList | rowLabels() const |
QBar3DSeries * | series() const |
void | setColumnLabels(const QStringList &labels) |
void | setItem(int rowIndex, int columnIndex, QBarDataItem item) |
void | setItem(const QPoint &position, QBarDataItem item) |
void | setRow(int rowIndex, QBarDataRow row) |
void | setRow(int rowIndex, QBarDataRow row, QString label) |
void | setRowLabels(const QStringList &labels) |
void | setRows(int rowIndex, QBarDataArray rows) |
void | setRows(int rowIndex, QBarDataArray rows, QStringList labels) |
信号
void | arrayReset() |
void | colCountChanged(int count) |
void | columnLabelsChanged() |
void | itemChanged(int rowIndex, int columnIndex) |
void | rowCountChanged(int count) |
void | rowLabelsChanged() |
void | rowsAdded(int startIndex, int count) |
void | rowsChanged(int startIndex, int count) |
void | rowsInserted(int startIndex, int count) |
void | rowsRemoved(int startIndex, int count) |
void | seriesChanged(QBar3DSeries *series) |
相关非成员
详细描述
条形数据代理处理数据的添加、插入、更改和删除行。
数据数组是一个向量(行)列表(QBarDataItem实例)。每一行可以包含不同数量的项或甚至为空。
QBarDataProxy将其所拥有的所有QtGraphs::QBarDataRow对象都传递给它,无论是直接传递还是通过QtGraphs::QBarDataArray容器传递。如果在将数组添加到代理后使用条形数据行指针直接修改数据,则必须发射适当的信号以更新图表。
QBarDataProxy可选地跟踪行和列标签,QCategory3DAxis可以利用这些标签来显示轴标签。行和列标签存储在数据之外的单独数组中,并且行操作方法提供不影响的行标签的备用版本。这允许行标签与数组中数据的相对位置相关,而不是与数据本身相关。
另请参阅Qt 图形3D数据处理。
属性文档
[只读]
colCount : const int
该属性包含数组中的列数。
访问函数
int | colCount() const |
通知信号
void | colCountChanged(int count) |
columnLabels : QStringList
该属性包含数组的可选列标签。
此数组中的索引与行中的列索引相匹配。如果列表比最长行短,则所有列都不会获得标签。
访问函数
QStringList | columnLabels() const |
void | setColumnLabels(const QStringList &labels) |
通知信号
void | columnLabelsChanged() |
[只读]
rowCount : const int
此属性保存数组中的行数。
访问函数
int | rowCount() const |
通知信号
void | rowCountChanged(int count) |
rowLabels : QStringList
此属性保存数组中可选的行标签。
该数组中的索引与数据数组中的行索引相匹配。如果列表比行数短,则所有行都不会获得标签。
访问函数
QStringList | rowLabels() const |
void | setRowLabels(const QStringList &labels) |
通知信号
void | rowLabelsChanged() |
[只读]
series : QBar3DSeries* const
此属性保存此代理附加到的序列。
访问函数
QBar3DSeries * | series() const |
通知信号
void | seriesChanged(QBar3DSeries *series) |
成员函数文档
[显式]
QBarDataProxy::QBarDataProxy(QObject *parent = nullptr)
使用指定的parent构造条形数据代理。
[重写虚函数 noexcept]
QBarDataProxy::~QBarDataProxy()
删除条形数据代理。
int QBarDataProxy::addRow(QBarDataRow row)
将新行row添加到数组的末尾。现有的行标签不受影响。
返回添加行的索引。
int QBarDataProxy::addRow(QBarDataRow row, QString label)
将带有标签label的新行row添加到数组的末尾。
返回添加行的索引。
int QBarDataProxy::addRows(QBarDataArray rows)
将新rows添加到数组的末尾。现有的行标签不受影响。
返回第一个添加行的索引。
int QBarDataProxy::addRows(QBarDataArray rows, QStringList labels)
将带有labels的新rows添加到数组的末尾。
返回第一个添加行的索引。
const QBarDataArray &QBarDataProxy::array() const
返回对数据数组的引用。
[信号]
void QBarDataProxy::arrayReset()
当数据数组重置时发出此信号。如果在没有调用resetArray的情况下更改整个数组的全部内容,则需要发出此信号以更新图表。
void QBarDataProxy::insertRow(int rowIndex, QBarDataRow row)
将新行 row 插入 rowIndex。如果 rowIndex 等于数组大小,则将行添加到数组末尾。现有的行标签不受影响。
注意: 如果插入行之后还有已标记的行,此调用后行标签数组将与行数组不同步。
void QBarDataProxy::insertRow(int rowIndex, QBarDataRow row, QString label)
将带有标签 label 的新行 row 插入到 rowIndex。如果 rowIndex 等于数组大小,则将行添加到数组末尾。
void QBarDataProxy::insertRows(int rowIndex, QBarDataArray rows)
将新 rows 插入到 rowIndex。如果 rowIndex 等于数组大小,则将行添加到数组末尾。现有的行标签不受影响。
注意: 如果插入行之后还有已标记的行,此调用后行标签数组将与行数组不同步。
void QBarDataProxy::insertRows(int rowIndex, QBarDataArray rows, QStringList labels)
将带有 labels 的新 rows 插入到 rowIndex。如果 rowIndex 等于数组大小,则将行添加到数组末尾。
const QBarDataItem &QBarDataProxy::itemAt(int rowIndex, int columnIndex) const
返回由 rowIndex 和 columnIndex 指定位置的项目的引用。它只有在下一次调用修改数据之前才是有效的。
const QBarDataItem &QBarDataProxy::itemAt(const QPoint &position) const
返回由 position 指定位置的项目的引用。 position 的 x 值表示行,y 值表示列。项目只有在下一次调用修改数据之前才是有效的。
[信号]
void QBarDataProxy::itemChanged(int rowIndex, int columnIndex)
当由 rowIndex 和 columnIndex 指定的位置的项目变化时,发送此信号。如果在没有调用 setItem() 的情况下在数组中更改项目,则需要发出此信号以更新图表。
void QBarDataProxy::removeRows(int rowIndex, int removeCount, bool removeLabels = true)
从位置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(int rowIndex) const
返回位置rowIndex的行的引用。只有在下次调用修改数据之前,引用才是有效的。
[signal]
void QBarDataProxy::rowsAdded(int startIndex, int count)
当从位置startIndex开始添加指定数count的行时,将发出此信号。如果未调用addRow()或addRows()就向数组添加行,则需要发出此信号以更新图形。
[signal]
void QBarDataProxy::rowsChanged(int startIndex, int count)
当从位置startIndex开始改变指定数count的行时,将发出此信号。如果未调用setRow()或setRows()就改变数组中的行,则需要发出此信号以更新图形。
[signal]
void QBarDataProxy::rowsInserted(int startIndex, int count)
当从位置startIndex插入指定数count的行时,将发出此信号。
如果未调用insertRow()或insertRows()就向数组插入行,则需要发出此信号以更新图形。
[signal]
void QBarDataProxy::rowsRemoved(int startIndex, int count)
当从指定的起始位置 startIndex 移除 count 指定的行数时,会触发此信号。
如果从数组的末尾移除行,则索引是当前数组的大小。如果没有调用 removeRows() 就从数组中移除行,则需要触发此信号来更新图形。
void QBarDataProxy::setItem(int rowIndex, int columnIndex, QBarDataItem item)
将指定的位置 rowIndex 和 columnIndex 的单个项目修改为 item。
void QBarDataProxy::setItem(const QPoint &position, QBarDataItem item)
将指定位置 position 的单个项修改为 item。位置 position 的 x 值表示行,y 值表示列。
void QBarDataProxy::setRow(int rowIndex, QBarDataRow row)
通过将 rowIndex 位置的行替换为指定的 row 来更新现有行。新行可以与已存储在 rowIndex 的行相同。现有的行标签不受影响。
void QBarDataProxy::setRow(int rowIndex, QBarDataRow row, QString label)
通过将 rowIndex 位置的行替换为指定的 row 来更新现有行。新行可以与已存储在 rowIndex 的行相同。将行标签改为 label。
void QBarDataProxy::setRows(int rowIndex, QBarDataArray rows)
通过从 rowIndex 位置开始替换新行来更新现有行 rows。现有的行标签不受影响。在 rows 数组中的行可以与已存储在 rowIndex 的现有行相同。
void QBarDataProxy::setRows(int rowIndex, QBarDataArray rows, QStringList labels)
通过从 rowIndex 位置开始替换新行来更新现有行 rows。行标签将更改为 labels。在 rows 数组中的行可以与已存储在 rowIndex 的现有行相同。
© 2024 Qt Company Ltd. 本文档中包含的贡献版权属于相应所有者。提供的文档是根据免费软件基金会发布的 GNU自由文档许可证第1.3版 许可的。Qt及其相关标志是芬兰及/或其他国家Qt Company Ltd.的商标。所有其他商标均为相应所有者的财产。