我一直试图通过以下代码在QML中点击 MapPolygon 的边框:
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
是否可以解决此错误并使边框可点击?
由于
答案 0 :(得分:0)
Anchor用于相对于另一个定位QtQuick Item
个对象,此元素的border
显然不是元素本身,只是一个正常的分组属性。
假设path
包含QtQuick Path
一个选项,您可以让MouseArea
填充整个项目,然后使用onClicked
中的鼠标位置处理程序,检查路径的元素是否被命中。