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

发布于 2024-11-02 22:54:15 字数 249 浏览 2 评论 0原文

我正在用 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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

迷路的信 2024-11-09 22:54:15

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

像这样的东西:

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 );

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文