2

我一直在尝试通过以下代码在 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

有什么办法可以解决这个错误并使边框可点击?

谢谢

4

1 回答 1

0

锚点用于定位 QtQuickItem对象相对于另一个对象,border这个元素显然不是元素本身,只是一个普通的分组属性。

假设path包含一个 QtQuickPath您有一个选项是MouseArea填充整个项目,然后使用onClicked处理程序中的鼠标位置检查路径的元素是否被击中。

于 2016-12-25T11:59:08.273 回答