Проблема с KeyPessEvent на Nokia N97 QT приложения
Вопрос
Я застрял в середине этой проблемы на неделю или около того, я нашел аналогичный вопрос, размещенный на Qt для Symbian Forum, но ни одно тело не ответило на это.
Проблема в том, что когда я запускаю приложение, ну оно все еще не приложение просто прототип :), либо на эмуляторе, либо на реальном устройстве, и использовать физическую qwerty клавиатуру для ввода нормальных символов, в этом случае устройство Находятся в ландшафтной ориентации, функция CallPessEvent не вызывается, но его называют, если я нажал клавиши, такие как Enter, Backspace, разные стрелки и ключ действия. Также это происходит, если я запускаю приложение на эмуляторе и использовал клавиатуру машины для разработки к типу.
С другой стороны, если я использовал на экране Mini Qwerty Keyboard на эмуляторе или использовал клавиатуру машины для разработки к типу, и эмулятор находится в портретной ориентации, функция kebpressEvent вызвана.
Теперь быть более конкретным, у меня есть класс, который наследует от QTextEdit, я переопределяю функции keyPessevent и Focusevent внутри него, а также вызываю функцию SetFocusPolicy внутри конструктора класса, но ничто не решило проблему.
Также я должен сказать, что код, который я пытаюсь, - это модифицированная версия примера CustomCleter, и обнаружила, что эта проблема также происходит с исходным кодом.
Таким образом, ребята, у кого-нибудь есть идеи о том, как решить эту проблему?
С уважением.
Решение
Вы можете проверить keyReleaseEvent
и / или отслеживать все события, переопределение event(QEvent*)
и проверяя, какие события действительно генерируются. Может быть сгенерировано другое подходящее событие.
Однако поведение, которое вы описали, действительно звучат как ошибка для меня. Вы можете проверить Qt Bug Tracker. и / или файл отчет об ошибках.