KeyNavigation QML Type
Admite la navegación mediante teclas de flecha. Más...
| Import Statement: | import QtQuick |
Propiedades adjuntas
Descripción detallada
Las interfaces de usuario basadas en teclas suelen permitir el uso de las teclas de flecha para navegar entre los elementos enfocables. El tipo de adjunto KeyNavigation permite este comportamiento proporcionando una forma cómoda de especificar el elemento que debe obtener el foco cuando se pulsa una tecla de flecha o de tabulación.
El siguiente ejemplo muestra la navegación mediante teclas para una cuadrícula de 2x2 elementos:
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 } }
El elemento superior izquierdo recibe inicialmente el foco estableciendo focus en true. Cuando se pulsa una tecla de flecha, el foco se moverá al elemento apropiado, definido por el valor que se haya establecido para las propiedades KeyNavigation left, right, up o down.
Tenga en cuenta que si un tipo de adjunto de KeyNavigation recibe los eventos de pulsación y liberación de tecla para una tecla de flecha o tabulación solicitada, el evento se acepta y no se propaga más.
Por defecto, KeyNavigation recibe eventos de tecla después del elemento al que está unido. Si el elemento acepta el evento de tecla, el tipo de conexión KeyNavigation no recibirá un evento para esa tecla. Establecer la propiedad priority a KeyNavigation.BeforeItem permite que el evento se utilice para la navegación clave antes del elemento, en lugar de después.
Si el elemento al que se está cambiando el foco no está habilitado o visible, se intentará saltar este elemento y centrarse en el siguiente. Esto es posible si hay una cadena de elementos con el mismo manejador KeyNavigation. Si varios elementos de una fila no están activados o visibles, también se omitirán.
KeyNavigation establecerá implícitamente la otra dirección para devolver el foco a este elemento. Así que si estableces left en otro elemento, right se establecerá en el KeyNavigation de ese elemento para devolver el foco a este elemento. Sin embargo, si el KeyNavigation de ese ítem tiene el botón derecho explícitamente establecido, no se producirá ningún cambio. Esto significa que el ejemplo anterior podría lograr el mismo comportamiento sin especificar KeyNavigation.right o KeyNavigation.down para ninguno de los elementos.
Véase también Keys attached property.
Documentación de propiedades adjuntas
KeyNavigation.backtab : Item
Esta propiedad contiene el elemento al que asignar el foco cuando se pulsa la combinación de teclas Shift+Tab (Backtab).
KeyNavigation.down : Item
Esta propiedad contiene el elemento al que asignar el foco cuando se pulsa la tecla de cursor abajo.
KeyNavigation.left : Item
Esta propiedad contiene el elemento al que asignar el foco cuando se pulsa la tecla izquierda del cursor.
KeyNavigation.priority : enumeration
Esta propiedad determina si las claves se procesan antes o después de la gestión de claves del elemento adjunto.
| Constante | Descripción |
|---|---|
KeyNavigation.BeforeItem | procesa los eventos de teclas antes del procesamiento normal de teclas del ítem. Si el evento es usado para la navegación de teclas, será aceptado y no será pasado al ítem. |
KeyNavigation.AfterItem | (por defecto) procesa los eventos clave después del tratamiento normal de las claves del elemento. Si el elemento acepta el evento clave, no será gestionado por el gestor de propiedades adjunto a KeyNavigation. |
KeyNavigation.right : Item
Esta propiedad contiene el elemento al que asignar el foco cuando se pulsa la tecla derecha del cursor.
KeyNavigation.tab : Item
Esta propiedad contiene el elemento al que asignar el foco cuando se pulsa la tecla Tabulador.
KeyNavigation.up : Item
Esta propiedad contiene el elemento al que asignar el foco cuando se pulsa la tecla cursor arriba.
© 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.