本页内容

BarModelMapper QML Type

条形图系列的模型映射器。更多...

Import Statement: import QtGraphs
In C++: QBarModelMapper

属性

信号

详细说明

BarModelMapper 类型允许将从 `QAbstractItemModel ` 类派生的数据模型用作图表的数据源。模型映射器用于在数据模型与 `QBarSeries` 之间建立连接。您需要实现该数据模型,并将其暴露给 QML。

既可以使用模型属性,也可以使用条形系列属性来操作数据。模型映射器会保持条形系列与数据模型之间的同步。

模型映射器确保条形系列中的所有条形组大小一致。因此,向某个条形组添加或从中移除一个值,会导致条形系列中的所有条形组发生相同的变更。

以下 QML 代码片段创建了一个包含三个条形集的条形序列(假设模型至少有四列)。每个条形集包含从第 1 行开始的数据。条形集的名称由列标题定义。

BarSeries {
    BarModelMapper {
        model: myCustomModel // QAbstractItemModel derived implementation
        firstBarSetColumn: 1
        lastBarSetColumn: 3
        firstRow: 1
        orientation: Qt.Vertical
    }
}

属性文档

count : qsizetype

模型中映射为柱形系列数据的行数或列数。默认值为-1 ,这也是最小值。该计数值受模型行数/列数的限制。

另请参阅 orientation 。

first : qsizetype

模型中包含条形系列中各条形集首个值的行或列。默认值为 0。

另请参阅 orientation 。

firstBarSetSection : qsizetype

模型中用作第一个柱状图集数据源的部分。默认值为 -1(映射无效)。

另请参阅 orientation 。

lastBarSetSection : qsizetype

模型中用作最后一个柱状图集数据源的部分。默认值为 -1(映射无效)。

另请参阅 orientation 。

model : model

映射器所使用的数据模型。您需要实现该模型,并将其暴露给 QML。

注意:该 模型必须支持添加和删除行或列,以及修改单元格中的数据。

orientation : orientation

用于告知模型映射器如何将模型中的数据进行映射。如果使用Qt.Vertical ,则模型的每一列都定义一组条形,而模型的每一行则定义一个类别。当方向设置为Qt.Horizontal 时,模型的每一行都定义一组条形,而模型的每一列则定义一个类别。

series : BarSeries

映射器使用的柱状图系列。将该系列设置到映射器时,其中的所有数据都会被丢弃。指定新系列时,旧系列将被断开连接,但其数据仍会被保留。

Signal 文档

countChanged()

当行数或列数发生变化时,会触发此信号。

注意: 相应的处理程序 为onCountChanged 。

firstBarSetSectionChanged()

当第一个小节段发生变化时,会发出此信号。

注意: 相应的处理程序 为onFirstBarSetSectionChanged 。

firstChanged()

当第一行或第一列发生变化时,会触发此信号。

注意: 相应的处理程序 为onFirstChanged 。

lastBarSetSectionChanged()

当最后一个小节段发生变化时,会发出此信号。

注意: 相应的处理程序 为onLastBarSetSectionChanged 。

modelChanged()

当映射器所连接的模型发生变化时,会触发此信号。

注意: 相应的处理程序 为onModelChanged 。

orientationChanged()

当方向发生变化时,会触发此信号。

注意: 相应的处理程序 是onOrientationChanged 。

orientationChanged()

当方向发生变化时,会发出此信号。

注意: 相应的处理程序 为onOrientationChanged 。

seriesChanged()

当映射器所连接的柱状图系列发生变化时,会触发此信号。

注意: 相应的处理程序 为onSeriesChanged 。

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