用Qt 5检查键盘

时间:2013-09-18 15:12:14

标签: keyboard qt5

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

我希望例如检查特定键(箭头键或任何其他键)是否已关闭。

1 个答案:

答案 0 :(得分:0)

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

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

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