keyPressEvent() 无法捕获 OSX 上的某些按键
我正在用 Qt c++ 编写一个程序,在处理按键事件时遇到一些问题。当在 Linux (Ubuntu 10.10) 或 Windows 7 上运行时,应用程序可以很好地捕获这些关键事件。然而,当我在 OSX 10.6.7 上运行该程序时,它没有捕获任何字符键、数字键或箭头键。它确实捕获了大写锁定、命令、选项、控制、Shift(修饰键),但没有其他。
我需要处理 OSX 的某种特殊情况吗?也许是配置?或者我需要连接的信号?
TIA
I am writing a program in Qt c++ and I'm having some problem handling key press events. When run on Linux (Ubuntu 10.10) or Windows 7 the application catches these key events just fine. However when I run the program on OSX 10.6.7 it doesn't catch any character keys, number keys, or the arrow keys. It does catch the caps lock, command, option, control, shift (modifier keys), but nothing else.
Is there some kind of special case of OSX that I need to handle? Perhaps a configuration? or a signal i need to connect with?
TIA
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您需要设置窗口的焦点策略以使其接受按键。
像这样的东西:
QMainWindow.setFocusPolicy (Qt::StrongFocus);
You need to set the window's focus policy to get it to accept keys.
Something like this:
QMainWindow.setFocusPolicy ( Qt::StrongFocus );