我正在尝试构建一个交互式地图应用程序,它允许我添加和修改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});
}
}
}
答案 0 :(得分:1)
自己找到答案。只需使用mapModel.remove(index)
代替mapModel.remove(model.index)