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)

シグナル

静的パブリックメンバ

QVariant queryFocusObject(Qt::InputMethodQuery query, const QVariant &argument)

詳細説明

QInputMethodは、テキストエディタがプラットフォームのテキスト入力メソッドに統合するために使用され、より一般的には、仮想キーボードの可視性やキーボードの寸法などの様々なテキスト入力メソッド関連情報を照会するためのアプリケーションビューによって使用されます。

Qt Quick また、 プロパティとして、 を通じて QML の QInputMethod にアクセスすることもできます。Qt.inputMethod Qt global object

メンバー型ドキュメント

enum QInputMethod::Action

ユーザーによって実行されたアクションの種類を示します。

定数説明
QInputMethod::Click0通常のクリック/タップ
QInputMethod::ContextMenu1コンテキストメニューのクリック/タップ(例:右ボタンまたはタップ・アンド・ホールド)

invokeAction()も参照してください

プロパティの説明

[read-only] anchorRectangle : const QRectF

入力項目のアンカー矩形をウィンドウ座標で指定します。

アンカー矩形は、テキスト予測ポップアップのようなさまざまなテキスト編集コントロールで、テキスト選択に追従するためによく使われます。

アクセス関数:

QRectF anchorRectangle() const

通知シグナル:

void anchorRectangleChanged()

[read-only] animating : const bool

仮想キーボードが開閉しているときは真。

キーボードが完全に開いているか閉じているときは、アニメーションは偽になります。animatingtruevisibilitytrue のとき、キーボードは開いています。animatingtruevisibility が 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()

show() およびhide()も参照

メンバ関数ドキュメント

[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)

現在のフォーカス・オブジェクトにパラメータargumentquery を送り、結果を返す。

[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() (visibletrue の場合)またはhide() (visiblefalse の場合)を呼び出すのと同じ。

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.