Делаем границу Mappolygon кликабельной - QML

Я пытался сделать границу MapPolygon кликабельной в QML с помощью следующего кода:

MapPolygon{
        id: _poly
        border.color: "black"
        border.width: 4
        color: "transparent"
        visible: false
        path: []
        MouseArea{
            id: _polyMousearea
            anchors.fill: _poly.border
            acceptedButtons: Qt.LeftButton
            onClicked: {
                var coord = _map.toCoordinate(Qt.point(flightMapMouseArea.mouseX,flightMapMouseArea.mouseY))
console.log(coord )

                }

            }
        }

    }

Я получаю следующую ошибку:

Невозможно назначить QDeclarativeMapLineProperties для QQuickItem в строке:anchors.fill: _poly.border

Любой способ обойти эту ошибку и сделать границу кликабельной?

Спасибо

1 ответ

Якоря используются для позиционирования QtQuick Item объекты относительно другого, border этого элемента, по-видимому, не сам элемент, а обычное сгруппированное свойство.

Предполагая, что path содержит QtQuick Path один из вариантов у вас есть, чтобы сделать MouseArea заполнить весь элемент, а затем использовать положение мыши в onClicked обработчик для проверки элементов пути о том, были ли они поражены или нет.

Другие вопросы по тегам