KeyNavigation QML Type
矢印キーによるキーナビゲーションをサポート。もっと見る...
Import Statement: | import QtQuick |
付属プロパティ
詳細説明
キーベースのユーザーインターフェイスでは、フォーカス可能なアイテム間を移動するために矢印キーを使用することが一般的です。KeyNavigation付属プロパティは、矢印キーまたはタブキーが押されたときにフォーカスを得る項目を指定する便利な方法を提供することによって、この動作を可能にします。
次の例では、2x2グリッドの項目に対してキーナビゲーションを提供しています:
import QtQuick Grid { width: 100; height: 100 columns: 2 Rectangle { id: topLeft width: 50; height: 50 color: focus ? "red" : "lightgray" focus: true KeyNavigation.right: topRight KeyNavigation.down: bottomLeft } Rectangle { id: topRight width: 50; height: 50 color: focus ? "red" : "lightgray" KeyNavigation.left: topLeft KeyNavigation.down: bottomRight } Rectangle { id: bottomLeft width: 50; height: 50 color: focus ? "red" : "lightgray" KeyNavigation.right: bottomRight KeyNavigation.up: topLeft } Rectangle { id: bottomRight width: 50; height: 50 color: focus ? "red" : "lightgray" KeyNavigation.left: bottomLeft KeyNavigation.up: topRight } }
focus true
矢印キーが押されると、KeyNavigationleft,right,up またはdown プロパティに設定された値によって定義された適切なアイテムにフォーカスが移動します。
KeyNavigationアタッチ・プロパティが、要求された矢印キーまたはタブ・キーのキーの押下イベントとリリース・イベントを受信した場合、そのイベントは受け入れられ、それ以上伝搬しないことに注意してください。
デフォルトでは、KeyNavigation はアタッチされているアイテムの後にキーイベントを受け取ります。アイテムがキーイベントを受け入れると、KeyNavigation のアタッチされたプロパティはそのキーのイベントを受け取りません。priority プロパティをKeyNavigation.BeforeItem
に設定すると、アイテムの後ではなく、アイテムの前のキーナビゲーションにイベントを使用できるようになります。
フォーカスが切り替わっているアイテムが有効でないか表示されていない場合、このアイテムをスキップして次のアイテムにフォーカスを当てようとします。これは、同じKeyNavigationハンドラを持つアイテムが連続している場合に可能です。複数の項目が連続して有効または表示されていない場合は、それらの項目もスキップされる。
KeyNavigationは、このアイテムにフォーカスを戻すために、暗黙のうちに他の方向を設定します。つまり、left を他のアイテムに設定すると、right がそのアイテムの KeyNavigation に設定され、このアイテムにフォーカスが戻ります。ただし、そのアイテムの KeyNavigation に right が明示的に設定されている場合は、変更は起こりません。つまり、上記の例では、KeyNavigation.rightやKeyNavigation.downをどのアイテムにも指定しなくても、同じ動作を実現することができます。
Keys attached propertyも参照して ください。
Attached Property ドキュメント
KeyNavigation.backtab : Item |
このプロパティは、Shift+Tabキーの組み合わせ(Backtab)が押されたときにフォーカスを割り当てる項目を保持します。
KeyNavigation.down : Item |
このプロパティは、下カーソルキーが押されたときにフォーカスを割り当てる項目を保持する。
KeyNavigation.left : Item |
このプロパティは、左カーソルキーが押されたときにフォーカスを割り当てる項目を保持する。
KeyNavigation.priority : enumeration |
このプロパティは、キーがアタッチされた項目自身のキー処理の前に処理されるか後に処理されるかを決定する。
定数 | 説明 |
---|---|
KeyNavigation.BeforeItem | キーイベントを、通常の項目のキー処理の前に処理します。イベントがキーナビゲーションのために使用される場合、それは受け入れられ、アイテムに渡されません。 |
KeyNavigation.AfterItem | (デフォルト) 通常のアイテムキー処理の後に、キーイベントを処理します。アイテムがキーイベントを受け入れると、KeyNavigation 添付のプロパティハンドラでは処理されません。 |
KeyNavigation.right : Item |
このプロパティは、右カーソルキーが押されたときにフォーカスを割り当てる項目を保持する。
KeyNavigation.tab : Item |
このプロパティは、Tab キーが押されたときにフォーカスを割り当てる項目を保持します。
KeyNavigation.up : Item |
このプロパティは、上カーソルキーが押されたときにフォーカスを割り当てる項目を保持する。
© 2025 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.