KeyEvent QML Type
キー・イベントに関する情報を提供する。詳細...
Import Statement: | import QtQuick |
プロパティ
- accepted : bool
- count : int
- isAutoRepeat : bool
- key : int
- modifiers : int
- nativeScanCode : quint32
- text : string
メソッド
- 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 |
このプロパティは、このイベントに関与するキーの数を保持する。KeyEvent::text が空でない場合、これは単に文字列の長さである。
isAutoRepeat : bool |
このプロパティは、このイベントが自動繰り返しキーに由来するかどうかを保持する。
key : int |
このプロパティは、押された、または離されたキーのコードを保持します。
キーボードコードのリストについては、Qt.Key を参照してください。これらのコードは、基本的なウィンドウ・システムとは無関係です。この関数は、大文字と非大文字を区別しないことに注意してください。この目的には、text プロパティを使用してください。
0またはQt.Key_Unknown の値は、そのイベントが既知のキーの結果ではないことを意味する。例えば、コンポーズシーケンスやキーボードマクロの結果であったり、キーイベント圧縮によるものであったりする。
modifiers : int |
このプロパティは、イベントが発生する直前に存在したキーボード修飾フラグを保持する。
これは、数値のビット単位の組み合わせ(Qt::KeyboardModifier )と同じです:
定数 | 説明 |
---|---|
Qt.NoModifier | 修飾キーが押されていない。 |
Qt.ShiftModifier | キーボードのShiftキーが押されている。 |
Qt.ControlModifier | キーボードの Ctrl キーが押された。 |
Qt.AltModifier | キーボードの Alt キーが押された。 |
Qt.MetaModifier | キーボードの Meta キーが押された。 |
Qt.KeypadModifier | キーパッドのボタンが押された。 |
Qt.GroupSwitchModifier | X11のみ。キーボードのMode_switchキーが押された。 |
例えば、ShiftキーとEnterキーの組み合わせに反応する:
Item { focus: true Keys.onPressed: (event)=> { if ((event.key == Qt.Key_Enter) && (event.modifiers & Qt.ShiftModifier)) doSomething(); } }
nativeScanCode : quint32 |
このプロパティには、押されたキーのネイティブ・スキャン・コードが含まれます。このプロパティはQKeyEvent から変更されずに渡される。
QKeyEvent::nativeScanCode()も参照してください 。
text : string |
このプロパティは、キーが生成した 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.の 商標です。その他すべての商標は、それぞれの所有者に帰属します。