从MapItemView获取模型索引

时间:2017-07-24 12:43:27

标签: qt qml

我正在尝试构建一个交互式地图应用程序,它允许我添加和修改Map项目。我能够添加新的地图项,但我仍然有修改模型的问题。在下面的代码中,如果我有多个项目,remove函数总是删除第一个项目而不是当前项目选择。我想修改模型,不仅要修改模型的视图,还要如何获得模型的currentIndex

ListModel {
    id: mapModel
}

Map {
    id: map
    //...
    MapItemView {
        model: mapModel
        delegate: MapCircle {
            radius: 80000
            color: 'blue'
            center {
                latitude: lat
                longitude: longi
            }
            MouseArea {
                onClicked: {
                    mapModel.remove(model.index)
                }
            }
        }
    }
    MouseArea {
        anchors.fill: parent
        onClicked: {
            var coord = map.toCoordinate(Qt.point(mouse.x,mouse.y))
            mapModel.append({lat : coord.latitude, longi: coord.longitude});
        }
    }
}

1 个答案:

答案 0 :(得分:1)

自己找到答案。只需使用mapModel.remove(index)代替mapModel.remove(model.index)