keyPressEvent () не перехватывает некоторые ключи в OSX - PullRequest
1 голос
/ 22 апреля 2011

Я пишу программу на Qt c ++, и у меня возникают проблемы с обработкой событий нажатия клавиш.При запуске в Linux (Ubuntu 10.10) или Windows 7 приложение ловит эти ключевые события просто отлично.Однако, когда я запускаю программу на OSX 10.6.7, она не ловит какие-либо символьные клавиши, цифровые клавиши или клавиши со стрелками.Он делает перехват блокировки, команды, опции, управления, сдвига (клавиши-модификаторы), но ничего больше.

Есть ли какой-то особый случай OSX, который мне нужно обработать?Возможно конфигурация?или сигнал, с которым мне нужно соединиться?

TIA

1 Ответ

1 голос
/ 22 апреля 2011

Вам нужно установить политику фокуса окна, чтобы заставить его принимать ключи.

Примерно так:

QMainWindow.setFocusPolicy ( Qt::StrongFocus );

...