0

我没有找到使用 Qt 5 检查键盘状态的方法。

例如,我想检查特定键(箭头键或任何其他键)是否按下。

4

1 回答 1

0

不是开箱即用。当 Qt 处理鼠标和键盘事件时,它会跟踪鼠标按钮和键盘修饰符的状态,并在 和 中返回Q(Gui)Application::mouseButtons()它们keyboardModifiers()

因此,您可以通过全局事件过滤器来做同样的事情:在 上安装事件过滤器QCoreApplication,或覆盖QCoreApplication::notify;并跟踪所有键的状态。不过,我不确定这有多大用处;为什么你不只是处理当前关注的小部件链中的按键?

(请注意,上述内容仅适用于 Qt 应用程序具有焦点的情况;如果您正在谈论即使没有焦点也检测键盘状态,Qt 根本没有帮助。)

于 2013-09-22T08:46:56.817 回答