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 attachedプロパティは、アタッチされているアイテムの前後でキーイベントを処理するように設定できます。これにより、アイテムのデフォルト動作をオーバーライドするためにイベントをインターセプトしたり、アイテムで処理されないキーのフォールバックとして動作することが可能になります。
priority が Keys.BeforeItem(デフォルト)の場合、キーイベントの処理順序は次のようになります:
- キーイベントの処理順序は次のようになります。
forwardTo
- 特定のキーハンドラで指定された項目。
- onPressed、onReleased ハンドラ。
- アイテム固有のキー処理(例:TextInput キー処理
- 親アイテム
優先順位がKeys.AfterItemの場合、キーイベントの処理順序は次のようになります:
- 項目固有のキー処理、例:TextInput キー処理
- で指定された項目。
forwardTo
- 特定のキーハンドラで指定された項目。
- onPressed、onReleasedハンドラ
- 親アイテム
上記のステップのいずれかでイベントが受け入れられた場合、キー伝搬は停止する。
KeyEvent およびKeyNavigation attached propertyも参照してください 。
プロパティの説明
enabled : bool |
このフラグは、true(デフォルト)の場合、キーハンドリングを有効にします。
このプロパティは、キーのプレス、キーのリリース、および入力メソッドから来るキーボード入力を他のアイテムに転送する方法を提供します。これは、あるアイテムにいくつかのキー(例えば、上下の矢印キー)を処理させ、別のアイテムに他のキー(例えば、左右の矢印キー)を処理させたい場合に便利です。キーを転送されたアイテムがイベントを受け取ると、リストの後のアイテムには転送されなくなります。
この例では、キーイベントを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) |
このシグナルは Cancel キーが押されたときに発せられます。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) |
このシグナルはFlipキーが押されたときに発せられる。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) |
このシグナルは、Selectキーが押されたときに発生します。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
です。
本ドキュメントに含まれる文書の著作権は、それぞれの所有者に帰属します。 本書で提供されるドキュメントは、Free Software Foundation が発行したGNU Free Documentation License version 1.3に基づいてライセンスされています。 Qtおよびそれぞれのロゴは、フィンランドおよびその他の国におけるThe Qt Company Ltd.の 商標です。その他すべての商標は、それぞれの所有者に帰属します。