当前位置: 代码迷 >> QT开发 >> 关于QMl 多个MouseArea重叠 事件响应有关问题
  详细解决方案

关于QMl 多个MouseArea重叠 事件响应有关问题

热度:87   发布时间:2016-04-25 04:45:30.0
关于QMl 多个MouseArea重叠 事件响应问题
两个 MouseArea。一个在上面。一个在下面。区域重叠。当点击鼠标时。下面的mouseArea永远得不到onPressed(MouseEvent)的机会。所有的响应都被top的MouseArea截获。
有老外给了个方法就是想让below的mouseArea响应时,先将top的visible设置成false。点击完在设置成true。。。这个方法很别扭、
难道不能像以前有事件的传递过程么?

对于一个MouseArea。。如果在onPressed()中设置mouse。accepted = false会忽略此事件的处理直接跳到onCancled()里面、
不知道有木有什么解决方法?

------解决方案--------------------
你为啥要两个mousearea重叠呢?
只有上面一个能够捕获到鼠标点击的事件难道不是非常符合逻辑么?

如果一定要这么做,那就把下层鼠标点击后的处理抽象到一个函数里面,然后上层鼠标点击后也调用这个函数就好了
  相关解决方案