#c #qt #macos #keypress
#c #qt #macos #нажатие клавиши
Вопрос:
Я пишу программу на Qt c , и у меня возникли некоторые проблемы с обработкой событий нажатия клавиш. При запуске в Linux (Ubuntu 10.10) или Windows 7 приложение отлично улавливает эти ключевые события. Однако, когда я запускаю программу в OSX 10.6.7, она не улавливает никаких символьных клавиш, цифровых клавиш или клавиш со стрелками. Он улавливает caps lock, command, option, control, shift (клавиши-модификаторы), но ничего больше.
Есть ли какой-то особый случай OSX, который мне нужно обработать? Возможно, конфигурация? или сигнал, с которым мне нужно подключиться?
TIA
Комментарии:
1. Вы уверены, что это не проблема с фокусом или фильтрацией? у вас есть минимальный тестовый пример?
Ответ №1:
Вам нужно установить политику фокусировки окна, чтобы заставить его принимать ключи.
Что-то вроде этого:
QMainWindow.setFocusPolicy ( Qt::StrongFocus );