Вопрос

Я застрял в середине этой проблемы на неделю или около того, я нашел аналогичный вопрос, размещенный на Qt для Symbian Forum, но ни одно тело не ответило на это.

Проблема в том, что когда я запускаю приложение, ну оно все еще не приложение просто прототип :), либо на эмуляторе, либо на реальном устройстве, и использовать физическую qwerty клавиатуру для ввода нормальных символов, в этом случае устройство Находятся в ландшафтной ориентации, функция CallPessEvent не вызывается, но его называют, если я нажал клавиши, такие как Enter, Backspace, разные стрелки и ключ действия. Также это происходит, если я запускаю приложение на эмуляторе и использовал клавиатуру машины для разработки к типу.

С другой стороны, если я использовал на экране Mini Qwerty Keyboard на эмуляторе или использовал клавиатуру машины для разработки к типу, и эмулятор находится в портретной ориентации, функция kebpressEvent вызвана.

Теперь быть более конкретным, у меня есть класс, который наследует от QTextEdit, я переопределяю функции keyPessevent и Focusevent внутри него, а также вызываю функцию SetFocusPolicy внутри конструктора класса, но ничто не решило проблему.

Также я должен сказать, что код, который я пытаюсь, - это модифицированная версия примера CustomCleter, и обнаружила, что эта проблема также происходит с исходным кодом.

Таким образом, ребята, у кого-нибудь есть идеи о том, как решить эту проблему?

С уважением.

Это было полезно?

Решение

Вы можете проверить keyReleaseEvent и / или отслеживать все события, переопределение event(QEvent*) и проверяя, какие события действительно генерируются. Может быть сгенерировано другое подходящее событие.

Однако поведение, которое вы описали, действительно звучат как ошибка для меня. Вы можете проверить Qt Bug Tracker. и / или файл отчет об ошибках.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top