如何在Qt 4.8中阻止/忽略/丢弃早于特定超时的用户输入事件
How to block/ignore/discard user input events that are older than a certain timeout in Qt 4.8
这个问题可能与这些问题有关:
- QEventLoop:获取安排事件的时间
- 获取 QInputEvent 在 Qt 4.8 中被放入 QEventLoop 队列时的时间戳
我想检测用户输入是否早于某个超时,并在必要时阻止此类事件。想象一下这样的场景:UI 没有响应并在主线程中挂起几秒钟,并且用户不断发送输入事件。这些事件被排队,然后以一定的延迟进行处理。我想抓住这个并能够丢弃/忽略它们。我知道这不应该发生,因为 UI 应该始终响应,并且长任务应该移动到工作线程或类似概念,但我仍然希望能够检测到这种罕见的情况。请注意,当系统本身冻结几秒钟时,也可能发生同样的情况,这可能是由于整个系统的高负担。
我查看了Qt中用于嵌入式的可用输入驱动程序的默认实现的代码,并决定编写自己的输入概念,以便能够从Linux输入文件中读取时间戳。然后,我使用这些时间戳将它们与当前时间进行比较,以便在它们很久以前排队时删除它们。
所需的代码非常特定于平台,但它适用于我的方案。我想我必须接受我自己的答案,尽管我希望有一个更普遍的解决方案。
相关文章:
- 如何在Qt 4.8中阻止/忽略/丢弃早于特定超时的用户输入事件
- 确保特征将 AVX 矢量化用于特定操作
- 确定夏令时是否适用于特定日期
- 非静态成员引用必须相对于特定对象
- 互斥锁能否保护相对于特定指针的数据?
- 依赖于特定类类型的C++模板方法
- 将QT窗口强加于特定的屏幕
- 如何使函数模板仅适用于特定命名空间中的类型
- 不确定如何修复;非静态成员参考必须相对于特定对象
- 将所有文件依赖于特定目录的依赖
- 仅适用于特定模板类的模板
- C++非静态成员引用必须相对于特定对象
- 无法理解错误 msg:"非静态成员引用必须相对于特定对象"
- 新的新类对象的函数;错误:非静态成员引用必须相对于特定对象
- 如何创建只存在于特定模板专用化的函数
- C++非静态成员引用必须相对于特定对象
- 有没有一种方法可以让本机npm包依赖于特定版本的v8C++API
- 在另一个类内部构造一个类(非静态成员引用必须相对于特定对象)
- 非静态成员引用必须相对于特定的c++对象单例类
- 错误:非静态成员引用必须相对于特定对象