嘿,大家好......我遇到这个愚蠢的问题,每当我执行一个双击事件时,两个mousePressed事件也会被触发,这意味着mousePressed事件代码也会被无限次执行两次。我怎样才能配置事件,以便首先检查doubleClick事件的点击次数,并且只有在事件不是这样的情况下,它们才会移至mousePressed事件。这可能吗 ?如何让mousePressed和mouseDoubleClicked事件互斥?
1
A
回答
0
我打算假设你是指同一个部件。快速和肮脏的方式将移动鼠标按代码到一个私人的方法,让鼠标按下事件设置一个计时器后到期定时器为可能的双击。在双击代码中,如果它被调用,一定要关闭定时器。这将防止鼠标按下事件运行两次。在计时器代码中,让它调用私有方法。
1
在你花费太多时间试图解决这个问题之前,请考虑一下Raymond Chen对"Logical consequences of the way Windows converts single-clicks into double-clicks"的评论。他谈到的技术应该很容易适应Qt。但是,“双击动作的可疑设计与单击动作无关”的用户界面后果 - 您可能会尝试做一些会让用户感到困惑的事情(另一方面 - 您可能会尝试以防止让用户感到困惑)。
此外,相关的文章,"Why doesn't double-right-click bring up the Properties dialog?"可能会感兴趣。
相关问题
- 1. 为互斥事件
- 2. Windows上的互斥和事件
- 3. 互斥事件在JavaScript
- 4. 事件还是互斥?
- 5. 如何让单选按钮互斥
- 6. 同步和互斥
- 7. 互斥锁和锁
- 8. Node.js和互斥体
- 9. 如何在一个监听器中识别mouseDragged和mousePressed事件?
- 10. 互斥体如何工作?
- 11. 互斥锁如何工作?
- 12. 如何在不互斥
- 13. 互斥C#。如何系统识别互斥码
- 14. 条件变量和共享互斥
- 15. 互斥和C套接字
- 16. pthread_cond_wait和互斥要求
- 17. 监视器和互斥
- 18. 如何在Linux和C中使用文件作为互斥体?
- 19. 如何初始化互斥锁和条件变量
- 20. java如何知道mousePressed()事件何时发生?
- 21. Java互斥
- 22. 互斥对象
- 23. 互斥问题
- 24. 使用互斥
- 25. 互斥理解
- 26. 使NSOperations互斥
- 27. 与互斥
- 28. 如何按照动作命令处理mousepressed事件
- 29. 如何在不使用java.awt.robot的情况下模拟mousePressed事件?
- 30. 何时使用互斥
+1。如果您发现单次点击会耗费大量时间,那么请不要试图避免重复收到消息。只要在系统中找到其他可以测试的状态,如果耗时的事情已经完成了,那么当你收到第二条消息时不要再做这件事。 – HostileFork 2010-06-25 20:28:32