首页 文章

如何禁用点击qml中的项目?

提问于
浏览
2

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

组织项目,以便每个对话框在单独的qml文件中实现:

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

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

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

  • 我想在拖动对话框的背景时禁用拖动 Map . 我尝试将此设置为每个对话框:

MouseArea {

anchors.fill:parent

onClicked:mouse.accepted = true

}

(parent是包含对话框的所有元素的Item),但这不起作用 .

1 回答

  • 1

    如果我正确理解你的问题,那么将MouseArea的propagateComposedEvents设置为false就足够了 .

相关问题