QtWebKit ベースのブラウザー用の仮想キーボードの実装に取り組んでいます。QtWebKit が実際のページ内でコントロールを描画する方法を理解するのは非常に困難です。最初は QLineEdit インスタンスだと思っていましたが、そうではありません。実装に飛び込むと、Qt と WebKit の間のグルー コードが、QStyle と QPainter を使用してテキスト フィールドを描画しているように見えます。残念ながら、私は Qt に非常に慣れていないため、これらのイベントに対するマウスの押下がイベント ループのどこで解釈されるのか理解できません。Editor::canEdit() がコール スタックの奥深くにあることがわかりました。ユーザーがページ内のテキスト フィールドをクリックすると、仮想キーボードを表示できるようになりました。仮想キーボードは QWidget インスタンスへのポインタを期待していましたが、Edito::canEdit() はその情報を持っておらず、できませんでした。QWidget のようなインスタンスが公開されている場所を見つけられません。私は本当に困惑しています、どんなアドバイスでも大歓迎です。
ありがとう!