QBarDataProxy 类

QBarDataProxy 类是 3D 条形图的数据代理。 更多...

头文件 #include <QBarDataProxy>
CMakefind_package(Qt6 REQUIRED COMPONENTS Graphs)
target_link_libraries(mytarget PRIVATE Qt6::Graphs)
qmakeQT += graphs
实例化者 BarDataProxy
继承自 QAbstractDataProxy
派生自

QItemModelBarDataProxy

状态技术预览

属性

公共函数

QBarDataProxy(QObject *parent = nullptr)
virtual~QBarDataProxy() override
intaddRow(QBarDataRow row)
intaddRow(QBarDataRow row, QString label)
intaddRows(QBarDataArray rows)
intaddRows(QBarDataArray rows, QStringList labels)
const QBarDataArray &array() const
intcolCount() const
QStringListcolumnLabels() const
voidinsertRow(int rowIndex, QBarDataRow row)
voidinsertRow(int rowIndex, QBarDataRow row, QString label)
voidinsertRows(int rowIndex, QBarDataArray rows)
voidinsertRows(int rowIndex, QBarDataArray rows, QStringList labels)
const QBarDataItem &itemAt(int rowIndex, int columnIndex) const
const QBarDataItem &itemAt(const QPoint &position) const
voidremoveRows(int rowIndex, int removeCount, bool removeLabels = true)
voidresetArray()
voidresetArray(QBarDataArray newArray)
voidresetArray(QBarDataArray newArray, QStringList rowLabels, QStringList columnLabels)
const QBarDataRow &rowAt(int rowIndex) const
introwCount() const
QStringListrowLabels() const
QBar3DSeries *series() const
voidsetColumnLabels(const QStringList &labels)
voidsetItem(int rowIndex, int columnIndex, QBarDataItem item)
voidsetItem(const QPoint &position, QBarDataItem item)
voidsetRow(int rowIndex, QBarDataRow row)
voidsetRow(int rowIndex, QBarDataRow row, QString label)
voidsetRowLabels(const QStringList &labels)
voidsetRows(int rowIndex, QBarDataArray rows)
voidsetRows(int rowIndex, QBarDataArray rows, QStringList labels)

信号

voidarrayReset()
voidcolCountChanged(int count)
voidcolumnLabelsChanged()
voiditemChanged(int rowIndex, int columnIndex)
voidrowCountChanged(int count)
voidrowLabelsChanged()
voidrowsAdded(int startIndex, int count)
voidrowsChanged(int startIndex, int count)
voidrowsInserted(int startIndex, int count)
voidrowsRemoved(int startIndex, int count)
voidseriesChanged(QBar3DSeries *series)

详细描述

条形数据代理处理数据的添加、插入、更改和删除行。

数据数组是一个向量(行)列表(QBarDataItem实例)。每一行可以包含不同数量的项或甚至为空。

QBarDataProxy将其所拥有的所有QtGraphs::QBarDataRow对象都传递给它,无论是直接传递还是通过QtGraphs::QBarDataArray容器传递。如果在将数组添加到代理后使用条形数据行指针直接修改数据,则必须发射适当的信号以更新图表。

QBarDataProxy可选地跟踪行和列标签,QCategory3DAxis可以利用这些标签来显示轴标签。行和列标签存储在数据之外的单独数组中,并且行操作方法提供不影响的行标签的备用版本。这允许行标签与数组中数据的相对位置相关,而不是与数据本身相关。

另请参阅Qt 图形3D数据处理

属性文档

[只读] colCount : const int

该属性包含数组中的列数。

访问函数

intcolCount() const

通知信号

voidcolCountChanged(int count)

columnLabels : QStringList

该属性包含数组的可选列标签。

此数组中的索引与行中的列索引相匹配。如果列表比最长行短,则所有列都不会获得标签。

访问函数

QStringListcolumnLabels() const
voidsetColumnLabels(const QStringList &labels)

通知信号

voidcolumnLabelsChanged()

[只读] rowCount : const int

此属性保存数组中的行数。

访问函数

introwCount() const

通知信号

voidrowCountChanged(int count)

rowLabels : QStringList

此属性保存数组中可选的行标签。

该数组中的索引与数据数组中的行索引相匹配。如果列表比行数短,则所有行都不会获得标签。

访问函数

QStringListrowLabels() const
voidsetRowLabels(const QStringList &labels)

通知信号

voidrowLabelsChanged()

[只读] series : QBar3DSeries* const

此属性保存此代理附加到的序列。

访问函数

QBar3DSeries *series() const

通知信号

voidseriesChanged(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

返回由 rowIndexcolumnIndex 指定位置的项目的引用。它只有在下一次调用修改数据之前才是有效的。

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

返回由 position 指定位置的项目的引用。 position 的 x 值表示行,y 值表示列。项目只有在下一次调用修改数据之前才是有效的。

[信号] void QBarDataProxy::itemChanged(int rowIndex, int columnIndex)

当由 rowIndexcolumnIndex 指定的位置的项目变化时,发送此信号。如果在没有调用 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()信号。

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

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

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)

将指定的位置 rowIndexcolumnIndex 的单个项目修改为 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 的现有行相同。

相关非成员

[别名] QBarDataArray

QBarDataRow 对象的指针列表。

[别名] QBarDataRow

QBarDataItem 对象的列表。

© 2024 Qt Company Ltd. 本文档中包含的贡献版权属于相应所有者。提供的文档是根据免费软件基金会发布的 GNU自由文档许可证第1.3版 许可的。Qt及其相关标志是芬兰及/或其他国家Qt Company Ltd.的商标。所有其他商标均为相应所有者的财产。