En esta página

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.

ConstanteDescripción
KeyNavigation.BeforeItemprocesa 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.