Если быть точным: я хочу соединить несколько точек на карте с помощью кривой сплайна. Новые точки могут быть добавлены с помощью щелчка мышью, а также должны быть связаны с существующим путем. Точки хранятся в модели, поэтому я могу получить к ним доступ также в C ++.
К сожалению, я не могу понять, как я могу добавить новые элементы PathCurve к существующему списку в объекте Shape :: ShapePath.
Я ожидал, что что-то вроде этого должно работать:
...
MapQuickItem {
coordinate: QtPositioning.coordinate(0.0000, 0.0000)
sourceItem: Shape {
id: myShape
anchors.fill: parent
vendorExtensionsEnabled: false
ShapePath {
id: myPath
strokeColor: "black"
strokeWidth: 2
capStyle: ShapePath.RoundCap
fillColor: "transparent"
startX: 0; startY: 0
}
}
zoomLevel: 15
}
MouseArea {
anchors.fill: parent
onClicked: {
var coord = parent.toCoordinate(Qt.point(mouse.x,mouse.y))
myPath.pathElements.push( new PathCurve(mouse.x, mouse.y) ) //does not work
}
}
Я также пытался заполнить PathElements из C ++, но класс PathCurve кажется закрытым и может использоваться только из QML. Hardcoding PathCurve Elements работает отлично, как и в каждом онлайн-примере, но я хочу динамически изменять список патчей.
Любая помощь будет принята с благодарностью!