QInputMethod Class
QInputMethodクラスは、アクティブなテキスト入力メソッドへのアクセスを提供します。詳細...
ヘッダー | #include <QInputMethod> |
CMake: | find_package(Qt6 REQUIRED COMPONENTS Gui) target_link_libraries(mytarget PRIVATE Qt6::Gui) |
qmake: | QT += gui |
継承: | QObject |
パブリックな型
enum | Action { Click, ContextMenu } |
プロパティ
|
|
パブリック機能
QRectF | anchorRectangle() const |
QRectF | cursorRectangle() const |
Qt::LayoutDirection | inputDirection() const |
QRectF | inputItemClipRectangle() const |
QRectF | inputItemRectangle() const |
QTransform | inputItemTransform() const |
bool | isAnimating() const |
bool | isVisible() const |
QRectF | keyboardRectangle() const |
QLocale | locale() const |
void | setInputItemRectangle(const QRectF &rect) |
void | setInputItemTransform(const QTransform &transform) |
void | setVisible(bool visible) |
パブリックスロット
void | commit() |
void | hide() |
void | invokeAction(QInputMethod::Action a, int cursorPosition) |
void | reset() |
void | show() |
void | update(Qt::InputMethodQueries queries) |
シグナル
void | anchorRectangleChanged() |
void | animatingChanged() |
void | cursorRectangleChanged() |
void | inputDirectionChanged(Qt::LayoutDirection newDirection) |
void | inputItemClipRectangleChanged() |
void | keyboardRectangleChanged() |
void | localeChanged() |
void | visibleChanged() |
静的パブリックメンバ
QVariant | queryFocusObject(Qt::InputMethodQuery query, const QVariant &argument) |
詳細説明
QInputMethodは、テキストエディタがプラットフォームのテキスト入力メソッドに統合するために使用され、より一般的には、仮想キーボードの可視性やキーボードの寸法などの様々なテキスト入力メソッド関連情報を照会するためのアプリケーションビューによって使用されます。
Qt Quick また、 プロパティとして、 を通じて QML の QInputMethod にアクセスすることもできます。Qt.inputMethod
Qt global object
メンバー型ドキュメント
enum QInputMethod::Action
ユーザーによって実行されたアクションの種類を示します。
定数 | 値 | 説明 |
---|---|---|
QInputMethod::Click | 0 | 通常のクリック/タップ |
QInputMethod::ContextMenu | 1 | コンテキストメニューのクリック/タップ(例:右ボタンまたはタップ・アンド・ホールド) |
invokeAction()も参照してください 。
プロパティの説明
[read-only]
anchorRectangle : const QRectF
入力項目のアンカー矩形をウィンドウ座標で指定します。
アンカー矩形は、テキスト予測ポップアップのようなさまざまなテキスト編集コントロールで、テキスト選択に追従するためによく使われます。
アクセス関数:
QRectF | anchorRectangle() const |
通知シグナル:
void | anchorRectangleChanged() |
[read-only]
animating : const bool
仮想キーボードが開閉しているときは真。
キーボードが完全に開いているか閉じているときは、アニメーションは偽になります。animating
がtrue
でvisibility
がtrue
のとき、キーボードは開いています。animating
がtrue
でvisibility
が false のとき、キーボードは閉じられています。
アクセス機能:
bool | isAnimating() const |
通知シグナル:
void | animatingChanged() |
[read-only]
cursorRectangle : const QRectF
入力項目のカーソル矩形をウィンドウ座標で表す。
カーソル矩形は、テキスト予測ポップアップのような様々なテキスト編集コントロールで、入力中のテキストを追跡するためによく使われます。
アクセス関数:
QRectF | cursorRectangle() const |
ノーティファイアシグナル:
void | cursorRectangleChanged() |
[read-only]
inputDirection : const Qt::LayoutDirection
現在の入力方向
アクセス機能
Qt::LayoutDirection | inputDirection() const |
通知信号
void | inputDirectionChanged(Qt::LayoutDirection newDirection) |
[read-only]
inputItemClipRectangle : const QRectF
入力項目の切り取られた矩形をウィンドウ座標で表したもの。
クリッピングされた入力矩形は、様々な入力メソッドで、その入力メソッド(仮想キーボードなど)で利用可能な画面領域を決定するためによく使用される。
アクセス関数:
QRectF | inputItemClipRectangle() const |
通知シグナル:
void | inputItemClipRectangleChanged() |
[read-only]
keyboardRectangle : const QRectF
ウィンドウ座標での仮想キーボードのジオメトリ。
キーボードのジオメトリを知ることができない場合、これは空の矩形になるかもしれない。これはアンドロイドのフローティングキーボードの場合です。
アクセス関数
QRectF | keyboardRectangle() const |
通知シグナル
void | keyboardRectangleChanged() |
[read-only]
locale : const QLocale
現在の入力ロケール
アクセス機能:
QLocale | locale() const |
通知シグナル
void | localeChanged() |
[read-only]
visible : const bool
画面上の仮想キーボードの可視性
仮想キーボードがないデバイスでは、入力メソッドの可視性はfalseのままです。
アクセス機能
bool | isVisible() const |
通知シグナル:
void | visibleChanged() |
メンバ関数ドキュメント
[slot]
void QInputMethod::commit()
ユーザーが現在作成中の単語をエディタにコミットします。この関数は、テキスト予測機能を持つ入力メソッドや、文字入力に使用されるスクリプトと実際にエディタに追加されるスクリプトが異なるメソッドで主に必要とされます。例えば、カーソルが他の場所に移動したときなどです。テキスト入力を中断するようなアクションは、commit()関数を呼び出して入力状態をフラッシュする必要があります。
[slot]
void QInputMethod::hide()
仮想キーボードを閉じるように要求します。
通常、アプリケーションはこの関数を呼び出す必要はありません。親ビューが閉じられたときなど、テキストエディタのフォーカスが外れたときに、キーボードは自動的に閉じるはずです。
QRectF QInputMethod::inputItemRectangle() const
入力項目のジオメトリを入力項目の座標で返します。
setInputItemRectangle()も参照してください 。
QTransform QInputMethod::inputItemTransform() const
入力アイテムの座標からウィンドウ座標への変換を返します。
setInputItemTransform()も参照してください 。
[slot]
void QInputMethod::invokeAction(QInputMethod::Action a, int cursorPosition)
アクションa と与えられたcursorPosition によって示されるように、現在作成中の単語がユーザーによってタップされたときに、入力アイテムによって呼び出されます。入力メソッドはこの情報を使って、ユーザーにもっと多くの単語候補を提供することがよくあります。
[static]
QVariant QInputMethod::queryFocusObject(Qt::InputMethodQuery query, const QVariant &argument)
現在のフォーカス・オブジェクトにパラメータargument でquery を送り、結果を返す。
[slot]
void QInputMethod::reset()
入力メソッドの状態をリセットする。例えば、テキストエディタは通常、テキストを挿入する前にこのメソッドを呼び出し、ウィジェットがテキストを受け入れる準備ができるようにします。
フォーカスされているエディタが変更されると、入力メソッドは自動的にリセットされます。
void QInputMethod::setInputItemRectangle(const QRectF &rect)
入力アイテムのジオメトリを入力アイテム座標でrect に設定します。これは、アイテムがシーン内で移動したり、フォーカスが変更されたりするたびに、QQuickCanvas のようなフォーカスされたウィンドウによって更新される必要があります。
inputItemRectangle()も参照してください 。
void QInputMethod::setInputItemTransform(const QTransform &transform)
入力アイテムの座標からウィンドウ座標への変換をtransform に設定します。アイテムがシーン内で移動されるたびに、QQuickCanvasのようにフォーカスされたウィンドウによってアイテムのトランスフォームが更新される必要があります。
inputItemTransform()も参照してください 。
void QInputMethod::setVisible(bool visible)
キーボードの表示を制御する。show() (visible がtrue
の場合)またはhide() (visible がfalse
の場合)を呼び出すのと同じ。
isVisible()、show()、hide()も参照 。
[slot]
void QInputMethod::show()
仮想キーボードを開くように要求する。プラットフォームが仮想キーボードを提供していない場合、visibilityはfalseのままです。
通常、アプリケーションはこの関数を呼び出す必要はなく、テキストエディタがフォーカスを得たときに自動的にキーボードが開くはずです。
[slot]
void QInputMethod::update(Qt::InputMethodQueries queries)
エディターの入力メソッドのクエリ属性に状態変化があったときに、プラットフォームの入力メソッドに通知するために入力アイテムによって呼び出されます。この関数を呼び出す際には、queries パラメータを使用して、何が変更されたかを伝える必要があります。このパラメータを使用して、入力メソッドはQInputMethodQueryEvent で興味のある属性のクエリを作成することができます。
特に、カーソルの位置が変わるたびにupdateを呼び出すことは重要です。カーソルの位置が変わると、周囲のテキストやテキスト選択などの他のクエリー属性も変わることがよくあるからです。カーソル位置と一緒に変化することが多い属性は、便宜上Qt::ImQueryInput 。
© 2025 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.