KeyNavigation QML Type
Prend en charge la navigation par touches fléchées. Plus d'informations...
| Import Statement: | import QtQuick |
Propriétés attachées
Description détaillée
Les interfaces utilisateur basées sur des touches permettent généralement d'utiliser les touches fléchées pour naviguer entre les éléments sur lesquels on peut se concentrer. Le type d'attachement KeyNavigation permet ce comportement en offrant un moyen pratique de spécifier l'élément qui doit être mis en évidence lorsqu'une touche de flèche ou de tabulation est enfoncée.
L'exemple suivant présente la navigation par touche pour une grille de 2 x 2 éléments :
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 } }
L'élément en haut à gauche reçoit initialement le focus en définissant focus sur true. Lorsqu'une touche de flèche est enfoncée, le focus se déplace vers l'élément approprié, tel que défini par la valeur définie pour les propriétés KeyNavigation left, right, up ou down.
Notez que si un type d'attachement KeyNavigation reçoit les événements d'appui et de relâchement d'une touche de flèche ou de tabulation demandée, l'événement est accepté et ne se propage pas plus loin.
Par défaut, KeyNavigation reçoit les événements de touche après l'élément auquel il est attaché. Si l'élément accepte l'événement clé, le type d'attachement KeyNavigation ne recevra pas d'événement pour cette touche. La définition de la propriété priority à KeyNavigation.BeforeItem permet d'utiliser l'événement pour la navigation par touche avant l'élément, plutôt qu'après.
Si l'élément sur lequel le focus est basculé n'est pas activé ou visible, une tentative sera faite pour sauter cet élément et se concentrer sur le suivant. Cela est possible s'il y a une chaîne d'éléments avec le même gestionnaire KeyNavigation. Si plusieurs éléments d'une même ligne ne sont pas activés ou visibles, ils seront également ignorés.
KeyNavigation définira implicitement l'autre direction pour ramener le focus sur cet élément. Ainsi, si vous attribuez left à un autre élément, right sera attribué à la KeyNavigation de cet élément afin de redonner la priorité à cet élément. Toutefois, si la KeyNavigation de cet élément a été explicitement définie à droite, aucun changement ne se produira. Cela signifie que l'exemple ci-dessus pourrait avoir le même comportement sans spécifier KeyNavigation.right ou KeyNavigation.down pour aucun des éléments.
Voir également Keys attached property.
Documentation sur les propriétés attachées
KeyNavigation.backtab : Item
Cette propriété contient l'élément auquel attribuer le focus lorsque la combinaison de touches Shift+Tab (Backtab) est activée.
KeyNavigation.down : Item
Cette propriété contient l'élément auquel attribuer le focus lorsque la touche curseur bas est enfoncée.
KeyNavigation.left : Item
Cette propriété contient l'élément auquel attribuer le focus lorsque la touche du curseur gauche est enfoncée.
KeyNavigation.priority : enumeration
Cette propriété détermine si les clés sont traitées avant ou après le traitement des clés de l'élément attaché.
| Constante | Description |
|---|---|
KeyNavigation.BeforeItem | traite les événements liés aux touches avant le traitement normal des touches de l'élément. Si l'événement est utilisé pour la navigation des touches, il sera accepté et ne sera pas transmis à l'élément. |
KeyNavigation.AfterItem | (par défaut) traite les événements clés après le traitement normal des clés de l'élément. Si l'élément accepte l'événement clé, il ne sera pas traité par le gestionnaire de propriété attaché à KeyNavigation. |
KeyNavigation.right : Item
Cette propriété contient l'élément auquel attribuer le focus lorsque la touche curseur droite est enfoncée.
KeyNavigation.tab : Item
Cette propriété contient l'élément auquel attribuer le focus lorsque la touche Tab est enfoncée.
KeyNavigation.up : Item
Cette propriété contient l'élément auquel attribuer le focus lorsque la touche du curseur vers le haut est enfoncée.
© 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.