Qt4 Qt5鼠标双击事件管理

Qt4 Qt5鼠标双击事件管理,qt4,qt5,porting,double-click,Qt4,Qt5,Porting,Double Click,根据Qt5(搜索鼠标双击事件): 当用户双击 小装置。如果用户双击,小部件将收到鼠标按下 事件,鼠标释放事件,(鼠标单击事件),第二个鼠标 按下,此事件,最后是第二个鼠标释放事件。(一些 如果鼠标未保持稳定,也可能会收到鼠标移动事件 在此操作过程中。)无法区分单击和 双击,直到第二次单击到达。(这是原因之一 大多数GUI书籍建议双击是 单击鼠标,而不是触发其他操作。) 与Qt4(搜索mouseDoubleClickEvent)不同: 当用户双击 小装置。如果用户双击,小部件将收到鼠标按下 事件,

根据Qt5(搜索鼠标双击事件):

当用户双击 小装置。如果用户双击,小部件将收到鼠标按下 事件,鼠标释放事件,(鼠标单击事件),第二个鼠标 按下,此事件,最后是第二个鼠标释放事件。(一些 如果鼠标未保持稳定,也可能会收到鼠标移动事件 在此操作过程中。)无法区分单击和 双击,直到第二次单击到达。(这是原因之一 大多数GUI书籍建议双击是 单击鼠标,而不是触发其他操作。)

与Qt4(搜索mouseDoubleClickEvent)不同:

当用户双击 小装置。如果用户双击,小部件将收到鼠标按下 事件,鼠标释放事件,最后是此事件,而不是 第二次鼠标按下事件。(也可能会收到一些鼠标移动事件 如果在此操作过程中鼠标未保持稳定。)则不是 在第二次单击之前,可以区分单击和双击 点击到达。(这是大多数GUI书籍推荐的原因之一 双击是单次单击的扩展,而不是触发 不同的行动。)

我目前正在将一个应用程序从Qt4移植到Qt5,因此在接收secound mousePressEvent时,我需要能够“等待”mousedoubleclick事件


即使很难,我也能把它修好。真是个计时器,我有什么遗漏吗?这种新模式似乎不太实用,我如何避免这种情况?是否可以以某种方式取消第二次鼠标按下?

您能否在Qt5文档中提供该文本的参考?我看到了顺序press/release/双击/release(Linux+Qt5.10.0)。我已经更新了我的答案。您正在使用哪个小部件进行测试?我认为可能是文档在这种情况下不正确。我正在用一个原始的
QWidget
和事件过滤器进行测试。我的行为确实与原始的qopenglWindows相同(我的窗口就是基于它的)。我会调试并让你知道的。我看到的与QWidget相同,但我看到的与QWindow的Qt5文档相同。