Проблема с keyPressEvent в приложении Nokia N97 Qt

Я нахожусь в середине этой проблемы в течение недели или около того, я нашел похожий вопрос, опубликованный на форуме Qt для Symbian, но никто не ответил на него.

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

С другой стороны, если я использовал экранную мини-QWERTY-клавиатуру на эмуляторе или использовал клавиатуру машины для разработки, и эмулятор находится в портретной ориентации, вызывается функция keyPressEvent.

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

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

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

С уважением.

1 ответ

Решение

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

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

Другие вопросы по тегам