KeyNavigation QML Type (Uncreatable)
矢印キーによるキーナビゲーションに対応しています。詳細...
| Import Statement: | import QtQuick |
注:これは生成不可能な型です。QML ではインスタンス化できません。
関連プロパティ
詳細説明
キーベースのユーザーインターフェースでは、通常、矢印キーを使用してフォーカス可能な項目間を移動することができます。KeyNavigation アタッチメントタイプは、矢印キーや Tab キーが押された際にフォーカスを取得すべき項目を簡単に指定できる機能を提供することで、この動作を実現します。
次の例は、2×2のグリッド状に配置された項目に対するキーナビゲーションを示しています。
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 に設定することで、最初は左上のアイテムにフォーカスが当たります。矢印キーが押されると、KeyNavigationのleft 、right 、up 、またはdown プロパティに設定された値に従って、フォーカスが適切なアイテムに移動します。
なお、KeyNavigationのアタッチメントタイプが、要求された矢印キーまたはタブキーのキー押下および離しイベントを受信した場合、そのイベントは受け入れられ、それ以上伝播することはありません。
デフォルトでは、KeyNavigationは、それがアタッチされている項目の後にキーイベントを受信します。項目がキーイベントを受け入れた場合、KeyNavigationのアタッチ先タイプはそのキーに関するイベントを受信しません。priority プロパティをKeyNavigation.BeforeItem に設定すると、イベントは項目の後ではなく、項目の前にあるキーナビゲーションに使用されるようになります。
フォーカスが切り替わる先となるアイテムが有効になっていないか、表示されていない場合、そのアイテムをスキップして次のアイテムにフォーカスを移そうとします。これは、同じKeyNavigationハンドラを持つアイテムが連なっている場合に可能です。連続する複数のアイテムが有効になっていないか、表示されていない場合も、それらはスキップされます。
KeyNavigationは、このアイテムにフォーカスを戻すために、もう一方の方向を暗黙的に設定します。したがって、left を別のアイテムに設定した場合、そのアイテムのKeyNavigationにright が設定され、フォーカスがこのアイテムに戻るようになります。 ただし、その項目の KeyNavigation に right が明示的に設定されている場合は、何の変化も起こりません。つまり、上記の例では、どの項目に対しても KeyNavigation.right や KeyNavigation.down を指定しなくても、同じ動作を実現できるということです。
Keys attached propertyも参照してください 。
添付プロパティのドキュメント
KeyNavigation.backtab : Item [attached]
このプロパティは、Shift+Tab キーの組み合わせ(バックタブ)が押された際にフォーカスを割り当てる項目を保持します。
KeyNavigation.down : Item [attached]
このプロパティは、カーソルキー(下)が押された際にフォーカスを割り当てる項目を保持します。
KeyNavigation.left : Item [attached]
このプロパティは、左カーソルキーが押されたときにフォーカスを割り当てる項目を保持します。
KeyNavigation.priority : enumeration [attached]
このプロパティは、キーが、添付アイテム自身のキー処理の前か後かで処理されるかを決定します。
| 定数 | 説明 |
|---|---|
KeyNavigation.BeforeItem | 通常のアイテムのキー処理の前にキーイベントを処理します。イベントがキーナビゲーションに使用される場合、そのイベントは受け入れられ、アイテムには渡されません。 |
KeyNavigation.AfterItem | (デフォルト) 通常のアイテムのキー処理の後にキーイベントを処理します。アイテムがキーイベントを受け入れた場合、そのイベントはKeyNavigation のアタッチメントプロパティハンドラでは処理されません。 |
KeyNavigation.right : Item [attached]
このプロパティは、右カーソルキーが押された際にフォーカスを割り当てる項目を保持します。
KeyNavigation.tab : Item [attached]
このプロパティには、Tab キーが押されたときにフォーカスを割り当てる項目が格納されます。
KeyNavigation.up : Item [attached]
このプロパティは、上矢印キーが押された際にフォーカスを割り当てる項目を保持します。
© 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.