Androidネイティブ仮想キーボードを使用している場合、QLineEdit
は入力されたすべての単語を取得できません。 (Qtの5.7、アンドロイド6)QLineEdit :: textがAndroid仮想キーボードで不完全です
(絵のように)私は入力 "フォース入力" の場合と
QLineEdit::text()
を呼び出すには、私が唯一の "フォース" を得ます。
本文全体を取得するにはどうすればよいですか?
Androidネイティブ仮想キーボードを使用している場合、QLineEdit
は入力されたすべての単語を取得できません。 (Qtの5.7、アンドロイド6)QLineEdit :: textがAndroid仮想キーボードで不完全です
(絵のように)私は入力 "フォース入力" の場合と
QLineEdit::text()
を呼び出すには、私が唯一の "フォース" を得ます。
本文全体を取得するにはどうすればよいですか?
問題は、「入力」が依然として入力/型付けされた(下線を注意)、まだアプリケーションにコミットされていないことです。 QInputMethod::commit
を使用してすべてをコミットするように強制できます。
現在、ユーザーがエディタを構成中です。 関数は、テキスト予測 機能を持つ入力メソッドと、 文字を入力するためのスクリプトが、実際にはエディタに に追加されるスクリプトと異なるメソッドで必要となります。 を構成するテキストを中断するアクションは、たとえばカーソルが他の場所に移動したときに、commit()関数、つまり を呼び出すことによって合成状態をフラッシュする必要があります。
その後、QLineEdit::text
を使用してすべてのテキストを取得できるはずです。代替
:QLineEdit::displayText
としては、最初QInputMethod::commit
を呼び出さずQLineEdit::displayText
を使用することも可能で、hereを議論しました。
'にQLineEdit :: displayText'は助けにはならなかったが、この決定は ' QInputMethodは*入力=はQApplication :: inputMethod()私を助けた; '' 入力 - >は(コミット); ' ありがとう! –