En esta página

Keys QML Type

Proporciona el manejo de llaves a los elementos. Más...

Import Statement: import QtQuick

Propiedades

Señales

Descripción detallada

Todas las primitivas visuales soportan el manejo de teclas a través del tipo de conexión Keys. Las teclas pueden manejarse mediante las propiedades de señal onPressed y onReleased.

Las propiedades de señal tienen un parámetro KeyEvent, llamado event, que contiene detalles del evento. Si se maneja una tecla, event.accepted debe establecerse en true para evitar que el evento se propague por la jerarquía de elementos.

Ejemplo de uso

El siguiente ejemplo muestra cómo se puede utilizar el manejador general onPressed para comprobar una determinada tecla; en este caso, la tecla izquierda del cursor:

Item {
    anchors.fill: parent
    focus: true
    Keys.onPressed: (event)=> {
        if (event.key == Qt.Key_Left) {
            console.log("move left");
            event.accepted = true;
        }
    }
}

Algunas teclas pueden manejarse alternativamente a través de propiedades de señal específicas, por ejemplo onSelectPressed. Estos manejadores establecen automáticamente event.accepted a true.

Item {
    anchors.fill: parent
    focus: true
    Keys.onLeftPressed: console.log("move left")
}

Consulte Qt.Key para ver la lista de códigos de teclado.

Prioridades de manejo de teclas

El tipo de adjunto Keys puede configurarse para manejar eventos de teclado antes o después del elemento al que está adjunto. Esto hace posible interceptar eventos para anular el comportamiento por defecto de un ítem, o actuar como un fallback para teclas no manejadas por el ítem.

Si priority es Keys.BeforeItem (por defecto) el orden de procesamiento de los eventos de teclas es:

  1. Elementos especificados en forwardTo
  2. manejadores de teclas específicos, por ejemplo, onReturnPressed
  3. manejadores onPressed, onReleased
  4. Gestión de teclas específicas de cada elemento, por ejemplo, TextInput.
  5. elemento principal

Si la prioridad es Keys.AfterItem el orden de procesamiento de eventos clave es:

  1. Gestión de teclas específicas del elemento, por ejemplo, TextInput gestión de teclas
  2. Elementos especificados en forwardTo
  3. manipuladores de teclas específicos, p. ej. onReturnPressed
  4. onPressed, onReleased
  5. elemento principal

Si se acepta el evento durante cualquiera de los pasos anteriores, se detiene la propagación de teclas.

Véase también KeyEvent y KeyNavigation attached property.

Documentación de propiedades

enabled : bool

Esta bandera habilita el manejo de teclas si es true (por defecto); en caso contrario no se llamará a ningún manejador de teclas.

forwardTo : list<Item> [read-only]

Esta propiedad proporciona una forma de reenviar pulsaciones de teclas, soltar teclas y entradas de teclado procedentes de métodos de entrada a otros elementos. Esto puede ser útil cuando se desea que un elemento maneje algunas teclas (por ejemplo, las teclas de flecha arriba y abajo), y otro elemento maneje otras teclas (por ejemplo, las teclas de flecha izquierda y derecha). Una vez que un elemento al que se le han reenviado teclas acepta el evento, ya no se reenvía a elementos posteriores de la lista.

Este ejemplo reenvía eventos de teclas a dos listas:

Item {
    ListView {
        id: list1
        // ...
    }
    ListView {
        id: list2
        // ...
    }
    Keys.forwardTo: [list1, list2]
    focus: true
}

Para ver el orden en que se reciben los eventos cuando se utiliza forwardTo, consulte Key Handling Priorities.

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
Keys.BeforeItem(por defecto) procesa los eventos de clave antes del procesamiento normal de claves del ítem. Si el evento es aceptado, no será pasado al ítem.
Keys.AfterItemprocesar los eventos clave después del tratamiento normal de claves del elemento. Si el ítem acepta el evento clave, no será manejado por el manejador de la propiedad adjunta Keys.

Véase también Key Handling Priorities.

Documentación de señales

asteriskPressed(KeyEvent event)

Esta señal se emite cuando se ha pulsado el asterisco '*'. El parámetro event proporciona información sobre el evento.

Nota: El manejador correspondiente es onAsteriskPressed.

backPressed(KeyEvent event)

Esta señal se emite cuando se ha pulsado la tecla Atrás. El parámetro event proporciona información sobre el evento.

Nota: El manejador correspondiente es onBackPressed.

backtabPressed(KeyEvent event)

Esta señal se emite cuando se ha pulsado la combinación de teclas Shift+Tab (Backtab). El parámetro event proporciona información sobre el evento.

Nota: El manejador correspondiente es onBacktabPressed.

callPressed(KeyEvent event)

Esta señal se emite cuando se ha pulsado la tecla Llamar. El parámetro event proporciona información sobre el evento.

Nota: El manejador correspondiente es onCallPressed.

cancelPressed(KeyEvent event)

Esta señal se emite cuando se ha pulsado la tecla Cancelar. El parámetro event proporciona información sobre el evento.

Nota: El manejador correspondiente es onCancelPressed.

context1Pressed(KeyEvent event)

Esta señal se emite cuando se ha pulsado la tecla Context1. El parámetro event proporciona información sobre el evento.

Nota: El manejador correspondiente es onContext1Pressed.

context2Pressed(KeyEvent event)

Esta señal se emite cuando se ha pulsado la tecla Context2. El parámetro event proporciona información sobre el evento.

Nota: El manejador correspondiente es onContext2Pressed.

context3Pressed(KeyEvent event)

Esta señal se emite cuando se ha pulsado la tecla Context3. El parámetro event proporciona información sobre el evento.

Nota: El manejador correspondiente es onContext3Pressed.

context4Pressed(KeyEvent event)

Esta señal se emite cuando se ha pulsado la tecla Context4. El parámetro event proporciona información sobre el evento.

Nota: El manejador correspondiente es onContext4Pressed.

deletePressed(KeyEvent event)

Esta señal se emite cuando se ha pulsado la tecla Supr. El parámetro event proporciona información sobre el evento.

Nota: El manejador correspondiente es onDeletePressed.

digit0Pressed(KeyEvent event)

Esta señal se emite cuando se ha pulsado el dígito "0". El parámetro event proporciona información sobre el evento.

Nota: El manejador correspondiente es onDigit0Pressed.

digit1Pressed(KeyEvent event)

Esta señal se emite cuando se ha pulsado el dígito "1". El parámetro event proporciona información sobre el evento.

Nota: El manejador correspondiente es onDigit1Pressed.

digit2Pressed(KeyEvent event)

Esta señal se emite cuando se pulsa la cifra "2". El parámetro event proporciona información sobre el evento.

Nota: El manejador correspondiente es onDigit2Pressed.

digit3Pressed(KeyEvent event)

Esta señal se emite cuando se pulsa la cifra "3". El parámetro event proporciona información sobre el evento.

Nota: El manejador correspondiente es onDigit3Pressed.

digit4Pressed(KeyEvent event)

Esta señal se emite cuando se pulsa la cifra "4". El parámetro event proporciona información sobre el evento.

Nota: El manejador correspondiente es onDigit4Pressed.

digit5Pressed(KeyEvent event)

Esta señal se emite cuando se pulsa la cifra "5". El parámetro event proporciona información sobre el evento.

Nota: El manejador correspondiente es onDigit5Pressed.

digit6Pressed(KeyEvent event)

Esta señal se emite cuando se pulsa la cifra "6". El parámetro event proporciona información sobre el evento.

Nota: El manejador correspondiente es onDigit6Pressed.

digit7Pressed(KeyEvent event)

Esta señal se emite cuando se pulsa la cifra "7". El parámetro event proporciona información sobre el evento.

Nota: El manejador correspondiente es onDigit7Pressed.

digit8Pressed(KeyEvent event)

Esta señal se emite cuando se pulsa la cifra "8". El parámetro event proporciona información sobre el evento.

Nota: El manejador correspondiente es onDigit8Pressed.

digit9Pressed(KeyEvent event)

Esta señal se emite cuando se pulsa la cifra "9". El parámetro event proporciona información sobre el evento.

Nota: El manejador correspondiente es onDigit9Pressed.

downPressed(KeyEvent event)

Esta señal se emite cuando se pulsa la flecha hacia abajo. El parámetro event proporciona información sobre el evento.

Nota: El manejador correspondiente es onDownPressed.

enterPressed(KeyEvent event)

Esta señal se emite cuando se ha pulsado la tecla Intro. El parámetro event proporciona información sobre el evento.

Nota: El manejador correspondiente es onEnterPressed.

escapePressed(KeyEvent event)

Esta señal se emite cuando se ha pulsado la tecla Escape. El parámetro event proporciona información sobre el evento.

Nota: El manejador correspondiente es onEscapePressed.

flipPressed(KeyEvent event)

Esta señal se emite cuando se ha pulsado la tecla Flip. El parámetro event proporciona información sobre el evento.

Nota: El manejador correspondiente es onFlipPressed.

hangupPressed(KeyEvent event)

Esta señal se emite cuando se ha pulsado la tecla Colgar. El parámetro event proporciona información sobre el evento.

Nota: El manejador correspondiente es onHangupPressed.

leftPressed(KeyEvent event)

Esta señal se emite cuando se pulsa la flecha izquierda. El parámetro event proporciona información sobre el evento.

Nota: El manejador correspondiente es onLeftPressed.

Esta señal se emite cuando se pulsa la tecla Menú. El parámetro event proporciona información sobre el evento.

Nota: El manejador correspondiente es onMenuPressed.

noPressed(KeyEvent event)

Esta señal se emite cuando se ha pulsado la tecla No. El parámetro event proporciona información sobre el evento.

Nota: El manejador correspondiente es onNoPressed.

pressed(KeyEvent event)

Esta señal se emite cuando se ha pulsado una tecla. El parámetro event proporciona información sobre el evento.

Nota: El manejador correspondiente es onPressed.

released(KeyEvent event)

Esta señal se emite cuando se suelta una tecla. El parámetro event proporciona información sobre el evento.

Nota: El manejador correspondiente es onReleased.

returnPressed(KeyEvent event)

Esta señal se emite cuando se ha pulsado la tecla Retorno. El parámetro event proporciona información sobre el evento.

Nota: El manejador correspondiente es onReturnPressed.

rightPressed(KeyEvent event)

Esta señal se emite cuando se pulsa la flecha derecha. El parámetro event proporciona información sobre el evento.

Nota: El manejador correspondiente es onRightPressed.

selectPressed(KeyEvent event)

Esta señal se emite cuando se pulsa la tecla Seleccionar. El parámetro event proporciona información sobre el evento.

Nota: El manejador correspondiente es onSelectPressed.

shortcutOverride(KeyEvent event)

Esta señal se emite cuando se ha pulsado una tecla que potencialmente podría utilizarse como atajo de teclado. El parámetro event proporciona información sobre el evento.

Establezca event.accepted en true si desea evitar que la tecla pulsada sea utilizada como atajo por otros tipos, como Shortcut. Por ejemplo:

Item {
    id: escapeItem
    focus: true

    // Ensure that we get escape key press events first.
    Keys.onShortcutOverride: (event)=> event.accepted = (event.key === Qt.Key_Escape)

    Keys.onEscapePressed: {
        console.log("escapeItem is handling escape");
        // event.accepted is set to true by default for the specific key handlers
    }
}

Shortcut {
    sequence: "Escape"
    onActivated: console.log("Shortcut is handling escape")
}

Al igual que con las otras señales, shortcutOverride sólo se emitirá para un elemento si ese elemento tiene activeFocus.

Nota: El manejador correspondiente es onShortcutOverride.

Véase también Shortcut.

spacePressed(KeyEvent event)

Esta señal se emite cuando se ha pulsado la tecla Espacio. El parámetro event proporciona información sobre el evento.

Nota: El manejador correspondiente es onSpacePressed.

tabPressed(KeyEvent event)

Esta señal se emite cuando se pulsa la tecla Tabulador. El parámetro event proporciona información sobre el evento.

Nota: El manejador correspondiente es onTabPressed.

upPressed(KeyEvent event)

Esta señal se emite cuando se pulsa la flecha hacia arriba. El parámetro event proporciona información sobre el evento.

Nota: El manejador correspondiente es onUpPressed.

volumeDownPressed(KeyEvent event)

Esta señal se emite cuando se ha pulsado la tecla BajarVolumen. El parámetro event proporciona información sobre el evento.

Nota: El manejador correspondiente es onVolumeDownPressed.

volumeUpPressed(KeyEvent event)

Esta señal se emite cuando se ha pulsado la tecla Subir Volumen. El parámetro event proporciona información sobre el evento.

Nota: El manejador correspondiente es onVolumeUpPressed.

yesPressed(KeyEvent event)

Esta señal se emite cuando se ha pulsado la tecla Sí. El parámetro event proporciona información sobre el evento.

Nota: El manejador correspondiente es onYesPressed.

© 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.