10

デスクトップ アプリケーション用のオンスクリーン キーボードを作成したいと考えています。アプリケーションは Qt 5 でビルドされます。いくつか質問があります。明確にしてください。

  1. QInputContextQt5での置き換えは何ですか? (実装によるオンスクリーンキーボードについてどこかで読んだためですQInputContextが、これはQt 5ではサポートされていません。)

  2. QPlatformInputContextどこで見つけることができますかQInputPanel(インターネット検索でこれら2つを代替として見つけましQInputContextたが、それについてはわかりませんでした。また、それらを見つけることができませんでした)?

私の要件:

  1. キーボードは QML や外部ライブラリを使用しません (既に他のキーボードを作成しています)。

  2. キーボードは Qt Gui (トラディショナル) を使用します。

4

5 に答える 5

4

次の 2 つの課題があることを理解しています。

  1. テキスト ウィジェットにフォーカスがあることに基づいて、オンスクリーン キーボードを表示/非表示にするタイミングに関する通知を受け取る
  2. キー押下イベントをテキスト ウィジェットにポストする方法

答え

  1. 前者に関してはQObject::InstallEventFilter()、キーボード サービスを提供するウィジェットで使用できます。mouseReleaseEvent次に、リンク内の Qt コードの行に沿ってを探すことができます。
  2. これは、QCoreApplication::postEvent()

については、ここでQt 仮想キーボードQPlatformInputContextの例を入手してください。

于 2013-09-26T06:43:59.010 に答える
2

ここに良い例が示されていますhttp://tolszak-dev.blogspot.com.tr/2013/04/qplatforminputcontext-and-virtual.html は、スクリーンキーボードに Qt Quick を使用しています。確認できます。

于 2015-01-23T20:53:59.137 に答える
1

Qt は Qt 5.5 で仮想キーボード フレームワークを提供するようになりました。

http://doc.qt.io/QtVirtualKeyboard/

試していないので、使いやすさはなんとも言えません。QMLベースのようです。

(Linux と boot2qt 用と書かれていますが、ビルド ページ ( http://doc.qt.io/QtVirtualKeyboard/build.html ) に従って Windows 用にビルドすることもできます)

于 2015-12-08T21:41:37.750 に答える