【问题标题】:keyPressEvent() is not catching some keys on OSXkeyPressEvent() 在 OSX 上没有捕捉到一些键
【发布时间】:2011-08-10 16:46:59
【问题描述】:

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

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

TIA

【问题讨论】:

  • 您确定这不是焦点或过滤问题吗?你有最小的测试用例吗?

标签: c++ qt macos keypress


【解决方案1】:

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

类似这样的:

QMainWindow.setFocusPolicy ( Qt::StrongFocus );

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-04-20
    • 2012-10-30
    • 2016-01-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-12-25
    相关资源
    最近更新 更多