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