我没有找到Qt 5检查键盘状态的方法。
例如,我想检查特定键(箭头键或任何其他键)是否关闭。
不是开箱即用的。当Qt处理鼠标和键盘事件时,它会跟踪鼠标按钮和键盘修饰符的状态,并以Q(Gui)Application::mouseButtons()
和keyboardModifiers()
返回它们。
因此,您可以通过全局事件过滤器来执行相同的操作:在QCoreApplication
上安装事件过滤器,或覆盖QCoreApplication::notify
;并跟踪所有键的状态。不过,我不确定这有多大用处;为什么你不只是在当前关注的小部件链中处理按键?
(请注意,上述内容仅适用于Qt应用程序具有焦点的情况;如果您谈论的是即使没有焦点也可以检测键盘状态,则Qt根本无济于事。