4

我目前正在处理的应用程序有一张地图作为背景,在它上面可以打开多个其他包含多个视图的对话框(视图)。当一些对话框处于活动状态时,当拖动它时,它的背景地图正在移动,就像它上面没有任何东西一样。有人知道如何禁用它吗?我不希望地图对点击或对话框内的任何内容做出反应。

该项目的组织使得每个对话框都在单独的 qml 文件中实现:

  • 我有每个对话框的每个 qml 文件,以及应用程序的每个组件(地图),所以

  • 例如,当您单击可滚动水平列表中的设置选项卡时,设置选项卡将从包含所有对话框的 qml 打开,包括应用程序的底部和顶部

  • 每个对话框都在地图上方,并且有 50% 的透明背景,其中包含相关的图像和按钮

  • 我想在拖动对话框的背景时禁用拖动地图。我尝试将其设置为每个对话框:

鼠标区 {

anchors.fill:父级

onClicked: mouse.accepted = true

}

(父项是包含对话框所有元素的项),但这不起作用。

4

1 回答 1

4

如果我正确理解了您的问题,将 MouseArea 的propagateComposedEvents 设置为 false 就足够了。

于 2017-06-30T17:41:08.893 回答