1

Qt for Symbian フォーラムに投稿された同様の質問を見つけましたが、回答者はいませんでした。

問題は、アプリケーションを実行すると、エミュレーターまたは実際のデバイスのいずれかで単なるプロトタイプのアプリケーションではなく、物理的な QWERTY キーボードを使用して通常の文字、この場合はデバイスを入力することです。横向きの場合、関数 keyPressEvent は呼び出されませんが、Enter、Backspace、別の矢印、アクション キーなどのキーを押すと呼び出されます。また、これは、エミュレーターでアプリケーションを実行し、開発マシンのキーボードを使用して入力した場合にも発生します。

一方、エミュレーターで画面上のミニ QWERTY キーボードを使用した場合、または開発マシンのキーボードを使用して入力し、エミュレーターが縦向きの場合、keyPressEvent 関数が呼び出されます。

より具体的に言うと、QTextEdit から継承するクラスがあり、その中で関数 keyPressEvent と focusInEvent をオーバーライドし、クラスのコンストラクター内で関数 setFocusPolicy を呼び出しますが、何も問題を解決していないようです。

また、私が試しているコードはサンプル customcompleter の修正版であり、この問題は元のコードでも発生することがわかりました。

皆さん、この問題を解決する方法について何か考えがある人はいますか?

よろしく。

4

1 に答える 1

1

どのイベントが実際に生成されているかをオーバーライドして正確に検証することで、すべてのイベントをチェックkeyReleaseEventおよび/または監視できます。event(QEvent*)別の適切なイベントが生成されている可能性があります。

ただし、あなたが説明した動作は、私には本当にバグのように聞こえます。Qt Bug Trackerを確認したり、バグ レポートを提出したりできます。

于 2010-09-15T21:29:23.390 に答える