このページでは

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 また、Qt global object を通じて、Qt.inputMethod プロパティとして QML から QInputMethod にアクセスすることもできます。

メンバ型のドキュメント

enum QInputMethod::Action

ユーザーが実行した操作の種類を示します。

定数値説明
QInputMethod::Click0通常のクリック/タップ
QInputMethod::ContextMenu1コンテキストメニューのクリック/タップ(例:右クリック、またはタップして長押し)

関連項目: invokeAction()。

プロパティのドキュメント

[read-only] anchorRectangle : QRectF

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

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

アクセス関数:

QRectF anchorRectangle() const

通知シグナル:

void anchorRectangleChanged()

[read-only] animating : bool

仮想キーボードが開いたり閉じたりしているときにtrueになります。

キーボードが完全に開いているか閉じているときは、animatingはfalseになります。animating がtrue で、visibility がtrue の場合、キーボードは開かれている最中です。animating がtrue で、visibility がfalseの場合、キーボードは閉じられている最中です。

アクセス関数:

bool isAnimating() const

Notifierシグナル:

void animatingChanged()

[read-only] cursorRectangle : QRectF

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

カーソル矩形は、入力中のテキストを追跡するために、テキスト予測ポップアップなど、さまざまなテキスト編集コントロールでよく使用されます。

アクセス関数:

QRectF cursorRectangle() const

通知シグナル:

void cursorRectangleChanged()

[read-only] inputDirection : Qt::LayoutDirection

現在の入力方向。

アクセス機能:

Qt::LayoutDirection inputDirection() const

通知信号:

void inputDirectionChanged(Qt::LayoutDirection newDirection)

[read-only] inputItemClipRectangle : QRectF

ウィンドウ座標での入力項目のクリップされた矩形。

切り取られた入力矩形は、さまざまな入力方式(例:仮想キーボード)において、その入力方式に割り当てられる画面領域のサイズを決定するために頻繁に使用されます。

アクセス関数:

QRectF inputItemClipRectangle() const

通知シグナル:

void inputItemClipRectangleChanged()

[read-only] keyboardRectangle : QRectF

ウィンドウ座標系における仮想キーボードの形状。

キーボードのサイズが不明な場合、これは空の矩形となる可能性があります。Androidのフローティングキーボードがこれに該当します。

アクセス関数:

QRectF keyboardRectangle() const

Notifierシグナル:

void keyboardRectangleChanged()

[read-only] locale : QLocale

現在の入力ロケール。

アクセス関数:

QLocale locale() const

通知シグナル:

void localeChanged()

[read-only] visible : bool

画面上の仮想キーボードの表示状態

仮想キーボードがないデバイスでは、入力メソッドの表示はfalseのままとなります。

アクセス機能:

bool isVisible() const

Notifierシグナル:

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)

パラメータ `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()

仮想キーボードの表示を要求します。プラットフォームが仮想キーボードを提供していない場合、可視性は false のままとなります。

通常、アプリケーションがこの関数を呼び出す必要はありません。テキストエディタがフォーカスを獲得すると、キーボードは自動的に開くはずです。

[slot] void QInputMethod::update(Qt::InputMethodQueries queries)

エディタの入力方式クエリ属性に状態の変化が生じた際、プラットフォームの入力方式に通知するために、入力項目から呼び出されます。queries 関数を呼び出す際は、何が変更されたかを示すためにパラメータを使用する必要があります。これにより、各入力方式はQInputMethodQueryEvent を使用して、関心のある属性についてクエリを実行できるようになります。

特に、カーソル位置が変更されるたびに `update` を呼び出すことが重要です。これは、カーソル位置の変更によって、周囲のテキストやテキストの選択範囲といった他のクエリアトリビュートも変更されることが多いためです。カーソル位置とともに頻繁に変更される属性は、利便性のため `Qt::ImQueryInput ` の値にまとめられています。

© 2026 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.