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.