多模型QML地图视图

时间:2018-01-27 11:55:06

标签: qt model qml

我在C ++方面有一个基于AbstractListModel的模型。该模型通过MapView中显示的角色拥有一组位置。以下是我的代码的最小版本。 markerModel: MarkerModel在C ++端定义。

Map{
    MapItemView {
        model: markerModel
        delegate: markerDelegate
    }

    Component {
        id: markerDelegate

        MapQuickItem{
            anchorPoint: Qt.point(2.5, 2.5)
            coordinate: QtPositioning.coordinate(position.y, position.x)
            zoomLevel: 0
            sourceItem: Rectangle{
                ...
            }
        }
    }
}

委托实际上为模型中的每个位置绘制点数。现在我想拥有多个这样的模型。

  1. 我可以在C ++上使用AbstractTableModel,而不是AbstractListModel视图将遍历其列并在每列上调用markerDelegate。或者对行做同样的事。
  2. 使用单个委托markerDelegate
  3. 将多个模型动态展示给在单个视图上呈现的QML

    其中哪一个是标准做法?还是可行的?如何实现这些中的任何一个?

1 个答案:

答案 0 :(得分:-2)

您可以在容器中存储每个模型的数据,并将适当的数据加载到模型对象