【发布时间】:2018-07-24 15:00:36
【问题描述】:
我有一个全局 MouseAreamouseAreaRoot 占据整个屏幕以防止在打开弹出窗口时对特定按钮进行操作。
在这个全局MouseArea 下方的QML 对象中,我有一个嵌套的MouseArea nestedMenuMouseArea 处理我的菜单上的点击。
问题是当我点击菜单时,鼠标事件被重定向到mouseAreaRoot 而不是nestedMenuMouseArea。这是人们所期望的行为,因为全局 MouseArea 覆盖了整个屏幕。
我想从 mouseAreaRoot 的效果中排除 nestedMenuMouseArea,这会阻止对其他 QML 对象的任何操作。
我读到了propagateComposedEvents 属性,但它似乎只适用于子级到父级。
我希望相反:从 mouseAreaRoot 检测对 nestedMenuMouseArea 的点击并将事件发送给它以触发其 onClicked 代码。
【问题讨论】:
-
请提供Minimal, Complete, and Verifiable example,而不是解释您的代码。
-
至于您的问题 - 您应该将 MouseEvent.accepted 与 propagateComposedEvents: true 一起设置为 false