2016-03-23 27 views
0

Qt :: WA_InputMethodEnabled属性を設定して入力メソッドを有効にしたQWidget(parentWidgetと呼ぶことができます)があります。QInputMethod:プログラムで入力メソッドセッションを終了する

私の興味は、InputMethodEditorと呼ばれるLineダイアログをポップアップして、テキストのすべての入力をさらに処理することです。

私はinputMethodがセッションのように機能し、startedToCompose、作成、完了のような状態を持つことを意味しています。 inputメソッドがstartedToComposeまたはcomposing状態にある間、preMdodStringからpreEditStringで合成中の文字列を送信し、セッションが完了すると、最後の作成された文字列をcommitString()で送信します。

inputMethodEditorダイアログがポップアップするとすぐにparentWidgetでこのセッションを開始することを予定しています。

したがって、このセッションをプログラムで閉じる方法があるかどうかは疑問です。

答えて

0

しばらく探索したところ、私はそれを理解することができました。私が以前にそれを見落としたかどうかはわかりません。 これは、QInputMethod :: reset関数を呼び出すことです。 このようなもの:

QApplication* application = static_cast<QApplication *>(QApplication::instance()); 
application->inputMethod()->reset(); 
関連する問題