Keys QML Type
アイテムにキーハンドリングを提供します。詳細...
| Import Statement: | import QtQuick |
プロパティ
信号
- asteriskPressed(KeyEvent event)
- backPressed(KeyEvent event)
- backtabPressed(KeyEvent event)
- callPressed(KeyEvent event)
- cancelPressed(KeyEvent event)
- context1Pressed(KeyEvent event)
- context2Pressed(KeyEvent event)
- context3Pressed(KeyEvent event)
- context4Pressed(KeyEvent event)
- deletePressed(KeyEvent event)
- digit0Pressed(KeyEvent event)
- digit1Pressed(KeyEvent event)
- digit2Pressed(KeyEvent event)
- digit3Pressed(KeyEvent event)
- digit4Pressed(KeyEvent event)
- digit5Pressed(KeyEvent event)
- digit6Pressed(KeyEvent event)
- digit7Pressed(KeyEvent event)
- digit8Pressed(KeyEvent event)
- digit9Pressed(KeyEvent event)
- downPressed(KeyEvent event)
- enterPressed(KeyEvent event)
- escapePressed(KeyEvent event)
- flipPressed(KeyEvent event)
- hangupPressed(KeyEvent event)
- leftPressed(KeyEvent event)
- menuPressed(KeyEvent event)
- noPressed(KeyEvent event)
- pressed(KeyEvent event)
- released(KeyEvent event)
- returnPressed(KeyEvent event)
- rightPressed(KeyEvent event)
- selectPressed(KeyEvent event)
- shortcutOverride(KeyEvent event)
- spacePressed(KeyEvent event)
- tabPressed(KeyEvent event)
- upPressed(KeyEvent event)
- volumeDownPressed(KeyEvent event)
- volumeUpPressed(KeyEvent event)
- yesPressed(KeyEvent event)
詳細説明
すべてのビジュアル・プリミティブは、Keysアタッチ型によるキー操作をサポートしています。キーは、onPressed および onReleased シグナルプロパティで処理できます。
シグナルプロパティには、イベントの詳細を含むeventという KeyEvent パラメータがあります。キーが処理される場合、event.acceptedをtrueに設定し、イベントがアイテム階層に伝搬しないようにする必要があります。
使用例
次の例は、一般的なonPressedハンドラを使用して、特定のキー(この場合は左カーソルキー)をテストする方法を示しています:
Item { anchors.fill: parent focus: true Keys.onPressed: (event)=> { if (event.key == Qt.Key_Left) { console.log("move left"); event.accepted = true; } } }
キーによっては、例えばonSelectPressedのように、特定のシグナル・プロパティで処理することもできます。これらのハンドラは自動的にevent.acceptedをtrueに設定します。
Item { anchors.fill: parent focus: true Keys.onLeftPressed: console.log("move left") }
キーボードコードの一覧はQt.Key を参照してください。
キー操作の優先順位
Keysアタッチタイプは、アタッチされているアイテムの前または後にキーイベントを処理するように設定することができます。これにより、アイテムのデフォルトの動作をオーバーライドするためにイベントをインターセプトしたり、アイテムによって処理されないキーのフォールバックとして動作したりすることが可能になります。
priority が Keys.BeforeItem(デフォルト)の場合、キーイベントの処理順序は次のようになります:
- キーイベントの処理順序は次のようになります。
forwardTo - 特定のキーハンドラで指定された項目。
- onPressed、onReleased ハンドラ。
- アイテム固有のキー処理(例:TextInput キー処理
- 親アイテム
優先順位がKeys.AfterItemの場合、キーイベントの処理順序は次のようになります:
- 項目固有のキー処理、例:TextInput キー処理
- で指定された項目。
forwardTo - 特定のキーハンドラで指定された項目。
- onPressed、onReleasedハンドラ
- 親アイテム
上記のステップのいずれかでイベントが受け入れられた場合、キー伝搬は停止する。
KeyEvent およびKeyNavigation attached propertyも参照してください 。
プロパティのドキュメント
enabled : bool
このフラグがtrueの場合(デフォルト)、キーハンドリングが有効になる。
forwardTo : list<Item> [read-only]
このプロパティは、キー・プレス、キー・リリース、および入力メソッドからのキーボード入力を他のアイテムに転送する方法を提供する。これは、あるアイテムにいくつかのキー(上下の矢印キーなど)を処理させ、別のアイテムに他のキー(左右の矢印キーなど)を処理させたい場合に便利です。キーを転送されたアイテムがイベントを受け取ると、リストの後のアイテムには転送されなくなります。
この例では、キーイベントを2つのリストに転送しています:
Item { ListView { id: list1 // ... } ListView { id: list2 // ... } Keys.forwardTo: [list1, list2] focus: true }
forwardToを使ったときのイベントの受信順序については、Key Handling Priorities を参照してください。
priority : enumeration
このプロパティは、キーがアタッチされたアイテム自身のキー処理の前に処理されるか後に処理されるかを決定する。
| 定数 | 説明 |
|---|---|
Keys.BeforeItem | (デフォルト) 通常のアイテムのキー処理の前にキーイベントを処理します。イベントが受け入れられた場合、そのイベントはアイテムに渡されません。 |
Keys.AfterItem | 通常のアイテムキー処理の後にキーイベントを処理する。アイテムがキーイベントを受け付けた場合、キーに付属するプロパティハンドラでは処理されません。 |
Key Handling Prioritiesも参照してください 。
シグナルのドキュメント
asteriskPressed(KeyEvent event)
このシグナルはアスタリスク「*」が押されたときに発せられる。event パラメータはイベントに関する情報を提供する。
注: 対応するハンドラはonAsteriskPressed です。
backPressed(KeyEvent event)
このシグナルは、Backキーが押されたときに発せられる。event パラメーターはイベントに関する情報を提供する。
注: 対応するハンドラはonBackPressed です。
backtabPressed(KeyEvent event)
このシグナルは、Shift+Tabキーの組み合わせ(Backtab)が押されたときに発せられる。event パラメーターはイベントに関する情報を提供する。
注: 対応するハンドラはonBacktabPressed です。
callPressed(KeyEvent event)
このシグナルは、Callキーが押されたときに発せられる。event パラメーターはイベントに関する情報を提供する。
注: 対応するハンドラはonCallPressed です。
cancelPressed(KeyEvent event)
このシグナルは、キャンセルキーが押されたときに発せられる。event パラメーターはイベントに関する情報を提供する。
注: 対応するハンドラはonCancelPressed です。
context1Pressed(KeyEvent event)
このシグナルはContext1キーが押されたときに発せられる。event パラメータはイベントに関する情報を提供する。
注: 対応するハンドラはonContext1Pressed です。
context2Pressed(KeyEvent event)
このシグナルはContext2キーが押されたときに発せられる。event パラメータはイベントに関する情報を提供する。
注: 対応するハンドラはonContext2Pressed です。
context3Pressed(KeyEvent event)
このシグナルはContext3キーが押されたときに発せられる。event パラメータはイベントに関する情報を提供する。
注: 対応するハンドラはonContext3Pressed です。
context4Pressed(KeyEvent event)
このシグナルはContext4キーが押されたときに発せられる。event パラメータはイベントに関する情報を提供する。
注: 対応するハンドラはonContext4Pressed です。
deletePressed(KeyEvent event)
このシグナルは、Deleteキーが押されたときに発せられる。event パラメーターはイベントに関する情報を提供する。
注: 対応するハンドラはonDeletePressed です。
digit0Pressed(KeyEvent event)
このシグナルは、数字の「0」が押されたときに発せられる。event パラメーターはイベントに関する情報を提供する。
注: 対応するハンドラはonDigit0Pressed です。
digit1Pressed(KeyEvent event)
このシグナルは、数字「1」が押されたときに発せられる。event パラメーターはイベントに関する情報を提供する。
注: 対応するハンドラはonDigit1Pressed です。
digit2Pressed(KeyEvent event)
このシグナルは、数字「2」が押されたときに発せられる。event パラメーターはイベントに関する情報を提供する。
注: 対応するハンドラはonDigit2Pressed です。
digit3Pressed(KeyEvent event)
このシグナルは、数字「3」が押されたときに発せられる。event パラメーターはイベントに関する情報を提供する。
注: 対応するハンドラはonDigit3Pressed です。
digit4Pressed(KeyEvent event)
このシグナルは、数字「4」が押されたときに発せられる。event パラメーターはイベントに関する情報を提供する。
注: 対応するハンドラはonDigit4Pressed です。
digit5Pressed(KeyEvent event)
このシグナルは、数字「5」が押されたときに発せられる。event パラメーターはイベントに関する情報を提供する。
注: 対応するハンドラはonDigit5Pressed です。
digit6Pressed(KeyEvent event)
このシグナルは、数字「6」が押されたときに発せられる。event パラメーターはイベントに関する情報を提供する。
注: 対応するハンドラはonDigit6Pressed です。
digit7Pressed(KeyEvent event)
このシグナルは、数字「7」が押されたときに発せられる。event パラメーターはイベントに関する情報を提供する。
注: 対応するハンドラはonDigit7Pressed です。
digit8Pressed(KeyEvent event)
このシグナルは、数字「8」が押されたときに発せられる。event パラメーターはイベントに関する情報を提供する。
注: 対応するハンドラはonDigit8Pressed です。
digit9Pressed(KeyEvent event)
このシグナルは、数字「9」が押されたときに発せられる。event パラメーターはイベントに関する情報を提供する。
注: 対応するハンドラはonDigit9Pressed です。
downPressed(KeyEvent event)
このシグナルは下矢印が押されたときに発せられる。event パラメーターはイベントに関する情報を提供する。
注: 対応するハンドラはonDownPressed です。
enterPressed(KeyEvent event)
このシグナルはEnterキーが押されたときに発せられる。event パラメーターはイベントに関する情報を提供する。
注: 対応するハンドラはonEnterPressed です。
escapePressed(KeyEvent event)
このシグナルはEscapeキーが押されたときに発せられる。event パラメーターはイベントに関する情報を提供します。
注意: 対応するハンドラはonEscapePressed です。
flipPressed(KeyEvent event)
このシグナルは、フリップキーが押されたときに発せられる。event パラメーターはイベントに関する情報を提供する。
注: 対応するハンドラはonFlipPressed です。
hangupPressed(KeyEvent event)
このシグナルは Hangup キーが押されたときに発せられる。event パラメーターはイベントに関する情報を提供する。
注: 対応するハンドラはonHangupPressed です。
leftPressed(KeyEvent event)
このシグナルは左矢印が押されたときに発せられる。event パラメーターはイベントに関する情報を提供する。
注: 対応するハンドラはonLeftPressed です。
menuPressed(KeyEvent event)
このシグナルは、Menuキーが押されたときに発せられる。event パラメーターはイベントに関する情報を提供する。
注: 対応するハンドラはonMenuPressed です。
noPressed(KeyEvent event)
このシグナルはNoキーが押されたときに発せられる。event パラメーターはイベントに関する情報を提供する。
注: 対応するハンドラはonNoPressed です。
pressed(KeyEvent event)
このシグナルは、キーが押されたときに発せられる。event パラメーターはイベントに関する情報を提供する。
注: 対応するハンドラはonPressed です。
released(KeyEvent event)
このシグナルは、キーがリリースされたときに発せられる。event パラメーターはイベントに関する情報を提供する。
注: 対応するハンドラはonReleased です。
returnPressed(KeyEvent event)
このシグナルはReturnキーが押されたときに発せられる。event パラメーターはイベントに関する情報を提供する。
注: 対応するハンドラはonReturnPressed です。
rightPressed(KeyEvent event)
このシグナルは、右矢印が押されたときに発せられる。event パラメータはイベントに関する情報を提供する。
注: 対応するハンドラはonRightPressed です。
selectPressed(KeyEvent event)
このシグナルは、セレクトキーが押されたときに発せられる。event パラメーターはイベントに関する情報を提供する。
注: 対応するハンドラはonSelectPressed です。
shortcutOverride(KeyEvent event)
このシグナルは、ショートカットとして使われる可能性のあるキーが押されたときに発せられる。event パラメーターは、イベントに関する情報を提供します。
押されたキーが他の型(例えばShortcut )によってショートカットとして使われるのを防ぎたい場合は、event.accepted をtrue に設定してください。例えば
Item {
id: escapeItem
focus: true
// Ensure that we get escape key press events first.
Keys.onShortcutOverride: (event)=> event.accepted = (event.key === Qt.Key_Escape)
Keys.onEscapePressed: {
console.log("escapeItem is handling escape");
// event.accepted is set to true by default for the specific key handlers
}
}
Shortcut {
sequence: "Escape"
onActivated: console.log("Shortcut is handling escape")
}他のシグナルと同様に、shortcutOverride は、そのアイテムがactiveFocus を持っている場合にのみ発生します。
注: 対応するハンドラはonShortcutOverride です。
Shortcutも参照してください 。
spacePressed(KeyEvent event)
このシグナルは、Spaceキーが押されたときに発せられる。event パラメーターはイベントに関する情報を提供する。
注: 対応するハンドラはonSpacePressed です。
tabPressed(KeyEvent event)
このシグナルはTabキーが押されたときに発せられる。event パラメーターはイベントに関する情報を提供する。
注: 対応するハンドラはonTabPressed です。
upPressed(KeyEvent event)
このシグナルは、上矢印が押されたときに発せられる。event パラメーターはイベントに関する情報を提供する。
注: 対応するハンドラはonUpPressed です。
volumeDownPressed(KeyEvent event)
このシグナルは、VolumeDownキーが押されたときに発せられる。event パラメーターは、イベントに関する情報を提供する。
注: 対応するハンドラはonVolumeDownPressed です。
volumeUpPressed(KeyEvent event)
このシグナルは、VolumeUpキーが押されたときに発せられる。event パラメーターは、イベントに関する情報を提供する。
注: 対応するハンドラはonVolumeUpPressed です。
yesPressed(KeyEvent event)
このシグナルは、Yesキーが押されたときに発せられる。event パラメーターはイベントに関する情報を提供する。
注: 対応するハンドラはonYesPressed です。
© 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.