KeyEvent QML Type

キー・イベントに関する情報を提供する。詳細...

Import Statement: import QtQuick

プロパティ

メソッド

  • bool matches(StandardKey matchKey)

詳細説明

例えば、Enterキーが押されたときにItemのstateプロパティを変更するには、次のようにします:

Item {
    focus: true
    Keys.onPressed: (event)=> { if (event.key == Qt.Key_Enter) state = 'ShowDetails'; }
}

プロパティの説明

accepted : bool

accepted を true に設定すると、キーイベントがアイテムの親に伝搬されるのを防ぐことができます。

一般的に、アイテムがキーイベントに反応する場合、祖先のアイテムも同じイベントに反応しないように、それを受け入れるべきである。


count : int [read-only]

このプロパティは、このイベントに関与するキーの数を保持する。KeyEvent::text が空でない場合、これは単に文字列の長さである。


isAutoRepeat : bool [read-only]

このプロパティは、このイベントが自動繰り返しキーに由来するかどうかを保持する。


key : int [read-only]

このプロパティは、押された、または離されたキーのコードを保持します。

キーボードコードのリストについては、Qt.Key を参照してください。これらのコードは、基本的なウィンドウ・システムとは無関係です。この関数は、大文字と非大文字を区別しないことに注意してください。この目的には、text プロパティを使用してください。

0またはQt.Key_Unknown の値は、そのイベントが既知のキーの結果ではないことを意味する。例えば、コンポーズシーケンスやキーボードマクロの結果であったり、キーイベント圧縮によるものであったりする。


modifiers : int [read-only]

このプロパティは、イベントが発生する直前に存在したキーボード修飾フラグを保持する。

これは、数値のビット単位の組み合わせ(Qt::KeyboardModifier )と同じです:

定数説明
Qt.NoModifier修飾キーが押されていない。
Qt.ShiftModifierキーボードのShiftキーが押されている。
Qt.ControlModifierキーボードの Ctrl キーが押された。
Qt.AltModifierキーボードの Alt キーが押された。
Qt.MetaModifierキーボードの Meta キーが押された。
Qt.KeypadModifierキーパッドのボタンが押された。
Qt.GroupSwitchModifierX11のみ。キーボードのMode_switchキーが押された。

例えば、ShiftキーとEnterキーの組み合わせに反応する:

Item {
    focus: true
    Keys.onPressed: (event)=> {
        if ((event.key == Qt.Key_Enter) && (event.modifiers & Qt.ShiftModifier))
            doSomething();
    }
}

nativeScanCode : quint32 [read-only]

このプロパティには、押されたキーのネイティブ・スキャン・コードが含まれます。このプロパティはQKeyEvent から変更されずに渡される。

QKeyEvent::nativeScanCode()も参照してください


text : string [read-only]

このプロパティは、キーが生成した Unicode テキストを保持します。Shift、Control、Alt、Meta などの修飾キーが押されたり離されたりしている場合、返されるテキストは空文字列になることがあります。そのような場合、key は有効な値を含みます。


メソッドの説明

bool matches(StandardKey matchKey)

キーイベントが与えられた標準matchKey にマッチする場合はtrue を返し、そうでない場合はfalse を返します。

Item {
    focus: true
    Keys.onPressed: (event)=> {
        if (event.matches(StandardKey.Undo))
            myModel.undo();
        else if (event.matches(StandardKey.Redo))
            myModel.redo();
    }
}

QKeySequence::StandardKeyも参照してください


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