このページでは

KeyEvent QML Type (Uncreatable)

重要なイベントに関する情報を提供します。詳細...

Import Statement: import QtQuick

注:これは作成不可能な型です。QMLではインスタンス化できません。

プロパティ

方法

  • 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も参照してください 。

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