根据Qt5 documentation(搜索mouseDoubleClickEvent):
当用户双击时,会调用mouseDoubleClickEvent() 小部件。如果用户双击,则窗口小部件会接收鼠标按下 事件,鼠标释放事件,(鼠标单击事件),第二个鼠标 按,这个事件,最后是第二个鼠标发布活动。 (一些 如果鼠标没有保持稳定,也可以接收鼠标移动事件 在此操作期间。)无法区分点击 双击直到第二次点击到达。 (这是一个原因 大多数GUI书籍建议双击是一个扩展 单击,而不是触发不同的操作。)
与Qt4不同documentation(搜索mouseDoubleClickEvent):
当用户双击时,会调用mouseDoubleClickEvent() 小部件。如果用户双击,则窗口小部件会接收鼠标按下 事件,鼠标释放事件,最后这个事件而不是 第二次鼠标按下事件。(也可能会收到一些鼠标移动事件 如果在此操作期间鼠标没有保持稳定。)事实并非如此 可以区分点击和双击直到第二个 点击到达。 (这是大多数GUI书籍推荐的原因之一 双击是单击的扩展,而不是触发a 不同的行动。)
我目前正在将应用程序从Qt4移植到Qt5,因此我需要能够在接收secound mousePressEvent时“等待”mouseDoubleClickEvent。
即使很难我也可以解决这个问题,这是我在这里缺少的东西吗?这种新模式似乎不太实用,我怎么能避免这种情况?我可以以某种方式删除第二次鼠标按下吗?