菜单在中心位置弹出,而不是触摸的地方

问题描述 投票:0回答:1

当试图在地图上创建一个菜单时,当在Android上使用onPressAndHold时,菜单会弹出在地图的中心位置,而不是在地图上的触摸位置。然而,同样的代码在桌面上(Ubuntu)可以正常工作。当在地图上按住鼠标时,Ubuntu上的菜单会从鼠标位置弹出。我也尝试了Qt 5.13中的Map Viewer例子,也是一样的。能否修复Android系统的菜单位置?谢谢。

import QtQuick.Window 2.2
import QtQuick 2.11
import QtQuick.Controls 2.4
import QtLocation 5.11
import QtPositioning 5.11

Window {
    id: root
    visible: true
    width: 640
    height: 480
    Plugin {
        id: mapPlugin
        name: "osm"
    }
    Menu {
        id:mapPopupMenu
        Action {
            text: qsTr("Get coordinate")
        }
    }

    Map {
        id: map
        anchors.fill: parent
        plugin: mapPlugin
        zoomLevel: 14
        center:  QtPositioning.coordinate(40,40)
        activeMapType: supportedMapTypes[1]
    }

    MouseArea {
        anchors.fill: parent
        onPressAndHold:mapPopupMenu.popup()
    }
}
android qt qml qtquickcontrols2 qtlocation
1个回答
1
投票

感谢Ramkumar R的回答。现在,在弹出窗口中使用mouse.x和mouse.y就能正常工作了。

MouseArea {
        anchors.fill: parent
        onPressAndHold:mapPopupMenu.popup(mouse.x, mouse.y)
    }
© www.soinside.com 2019 - 2024. All rights reserved.