keyPressEvent()无法捕获OSX上的某些键

keyPressEvent() is not catching some keys on OSX

本文关键字:OSX keyPressEvent      更新时间:2023-10-16

我正在Qt c++中编写程序,我在处理按键事件时遇到了一些问题。当在Linux (Ubuntu 10.10)或Windows 7上运行时,应用程序可以很好地捕获这些关键事件。然而,当我在OSX 10.6.7上运行该程序时,它没有捕获任何字符键、数字键或箭头键。它捕获了大写锁定、命令、选项、控制、shift(修改键),但没有其他。

是否有某种OSX的特殊情况,我需要处理?也许是一个配置?还是我需要连接的信号?

TIA

您需要设置窗口的焦点策略以使其接受密钥。

像这样:

QMainWindow.setFocusPolicy ( Qt::StrongFocus );