QInputMethod Class

QInputMethodクラスは、アクティブなテキスト入力メソッドへのアクセスを提供します。詳細...

Header: #include <QInputMethod>
CMake: find_package(Qt6 REQUIRED COMPONENTS Gui)
target_link_libraries(mytarget PRIVATE Qt6::Gui)
qmake: QT += gui
Inherits: 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.inputMethod プロパティとして、Qt global object を通じて QML の QInputMethod にアクセスすることができます。

メンバータイプ ドキュメント

enum QInputMethod::Action

ユーザが実行したアクションの種類を示します。

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

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

プロパティ ドキュメント

[read-only] anchorRectangle : const QRectF

入力項目のアンカー矩形(ウィンドウ座標)。

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

アクセス関数:

QRectF anchorRectangle() const

通知シグナル:

void anchorRectangleChanged()

[read-only] animating : const bool

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

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

本ドキュメントに含まれる文書の著作権は、それぞれの所有者に帰属します。 本書で提供されるドキュメントは、Free Software Foundation が発行したGNU Free Documentation License version 1.3に基づいてライセンスされています。 Qtおよびそれぞれのロゴは、フィンランドおよびその他の国におけるThe Qt Company Ltd.の 商標です。その他すべての商標は、それぞれの所有者に帰属します。