Sur cette page

Keys QML Type

Fournit des informations clés sur les éléments. Plus d'informations...

Import Statement: import QtQuick

Propriétés

Signaux

Description détaillée

Toutes les primitives visuelles prennent en charge la gestion des touches via le type d'attachement Keys. Les clés peuvent être gérées via les propriétés de signal onPressed et onReleased.

Les propriétés de signal ont un paramètre KeyEvent, nommé event, qui contient les détails de l'événement. Si une clé est gérée, la valeur de event.accepted doit être fixée à true pour éviter que l'événement ne se propage dans la hiérarchie des éléments.

Exemple d'utilisation

L'exemple suivant montre comment le gestionnaire général onPressed peut être utilisé pour tester une certaine touche ; dans ce cas, la touche du curseur gauche :

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

Certaines touches peuvent également être gérées via des propriétés de signal spécifiques, par exemple onSelectPressed. Ces gestionnaires attribuent automatiquement la valeur true à event.accepted.

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

Voir Qt.Key pour la liste des codes clavier.

Priorités de gestion des touches

Le type d'attachement Keys peut être configuré pour traiter les événements liés aux touches avant ou après l'élément auquel il est attaché. Cela permet d'intercepter des événements afin de remplacer le comportement par défaut d'un élément ou de servir de solution de repli pour les touches qui ne sont pas gérées par l'élément.

Si priority est Keys.BeforeItem (valeur par défaut), l'ordre de traitement des événements clés est le suivant :

  1. Éléments spécifiés dans forwardTo
  2. les éléments spécifiés dans des gestionnaires de touches spécifiques, par exemple onReturnPressed
  3. les gestionnaires onPressed, onReleased
  4. Gestion des touches spécifiques à l'élément, par exemple la gestion de la touche TextInput
  5. élément parent

Si la priorité est Keys.AfterItem, l'ordre de traitement des événements clés est le suivant :

  1. Gestion des clés spécifiques à l'élément, par exemple TextInput gestion des clés
  2. Éléments spécifiés dans forwardTo
  3. des gestionnaires de clés spécifiques, par exemple onReturnPressed
  4. Gestionnaires onPressed, onReleased
  5. élément parent

Si l'événement est accepté au cours de l'une des étapes ci-dessus, la propagation de la clé s'arrête.

Voir également KeyEvent et KeyNavigation attached property.

Documentation sur les propriétés

enabled : bool

Ce drapeau active la gestion des clés s'il est vrai (par défaut) ; sinon, aucun gestionnaire de clés ne sera appelé.

forwardTo : list<Item> [read-only]

Cette propriété permet de transmettre à d'autres éléments les pressions et relâchements de touches, ainsi que les entrées clavier provenant des méthodes d'entrée. Cela peut s'avérer utile lorsque vous souhaitez qu'un élément gère certaines touches (par exemple, les touches de déplacement vers le haut et vers le bas) et qu'un autre élément gère d'autres touches (par exemple, les touches de déplacement vers la gauche et vers la droite). Lorsqu'un élément auquel des touches ont été transmises accepte l'événement, il n'est plus transmis aux éléments situés plus loin dans la liste.

Cet exemple transmet les événements liés aux touches à deux listes :

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

Pour connaître l'ordre dans lequel les événements sont reçus lors de l'utilisation de forwardTo, voir Key Handling Priorities.

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

ConstanteDescription
Keys.BeforeItem(par défaut) traite les événements de clé avant le traitement normal des clés de l'élément. Si l'événement est accepté, il n'est pas transmis à l'élément.
Keys.AfterItemtraite les événements de clé 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é Keys attached.

Voir également Key Handling Priorities.

Documentation sur les signaux

asteriskPressed(KeyEvent event)

Ce signal est émis lorsque l'astérisque "*" a été pressé. Le paramètre event fournit des informations sur l'événement.

Remarque : le gestionnaire correspondant est onAsteriskPressed.

backPressed(KeyEvent event)

Ce signal est émis lorsque la touche Retour a été pressée. Le paramètre event fournit des informations sur l'événement.

Remarque : le gestionnaire correspondant est onBackPressed.

backtabPressed(KeyEvent event)

Ce signal est émis lorsque la combinaison de touches Shift+Tab (Backtab) a été activée. Le paramètre event fournit des informations sur l'événement.

Remarque : le gestionnaire correspondant est onBacktabPressed.

callPressed(KeyEvent event)

Ce signal est émis lorsque la touche Call a été enfoncée. Le paramètre event fournit des informations sur l'événement.

Remarque : le gestionnaire correspondant est onCallPressed.

cancelPressed(KeyEvent event)

Ce signal est émis lorsque la touche Annuler a été enfoncée. Le paramètre event fournit des informations sur l'événement.

Remarque : le gestionnaire correspondant est onCancelPressed.

context1Pressed(KeyEvent event)

Ce signal est émis lorsque la touche Context1 a été enfoncée. Le paramètre event fournit des informations sur l'événement.

Remarque : le gestionnaire correspondant est onContext1Pressed.

context2Pressed(KeyEvent event)

Ce signal est émis lorsque la touche Context2 a été enfoncée. Le paramètre event fournit des informations sur l'événement.

Remarque : le gestionnaire correspondant est onContext2Pressed.

context3Pressed(KeyEvent event)

Ce signal est émis lorsque la touche Context3 a été enfoncée. Le paramètre event fournit des informations sur l'événement.

Remarque : le gestionnaire correspondant est onContext3Pressed.

context4Pressed(KeyEvent event)

Ce signal est émis lorsque la touche Context4 a été enfoncée. Le paramètre event fournit des informations sur l'événement.

Remarque : le gestionnaire correspondant est onContext4Pressed.

deletePressed(KeyEvent event)

Ce signal est émis lorsque la touche Delete a été pressée. Le paramètre event fournit des informations sur l'événement.

Remarque : le gestionnaire correspondant est onDeletePressed.

digit0Pressed(KeyEvent event)

Ce signal est émis lorsque le chiffre "0" a été appuyé. Le paramètre event fournit des informations sur l'événement.

Remarque : le gestionnaire correspondant est onDigit0Pressed.

digit1Pressed(KeyEvent event)

Ce signal est émis lorsque le chiffre "1" a été appuyé. Le paramètre event fournit des informations sur l'événement.

Remarque : le gestionnaire correspondant est onDigit1Pressed.

digit2Pressed(KeyEvent event)

Ce signal est émis lorsque le chiffre "2" a été appuyé. Le paramètre event fournit des informations sur l'événement.

Remarque : le gestionnaire correspondant est onDigit2Pressed.

digit3Pressed(KeyEvent event)

Ce signal est émis lorsque le chiffre "3" a été appuyé. Le paramètre event fournit des informations sur l'événement.

Remarque : le gestionnaire correspondant est onDigit3Pressed.

digit4Pressed(KeyEvent event)

Ce signal est émis lorsque le chiffre "4" a été appuyé. Le paramètre event fournit des informations sur l'événement.

Remarque : le gestionnaire correspondant est onDigit4Pressed.

digit5Pressed(KeyEvent event)

Ce signal est émis lorsque le chiffre "5" a été appuyé. Le paramètre event fournit des informations sur l'événement.

Remarque : le gestionnaire correspondant est onDigit5Pressed.

digit6Pressed(KeyEvent event)

Ce signal est émis lorsque le chiffre "6" a été appuyé. Le paramètre event fournit des informations sur l'événement.

Remarque : le gestionnaire correspondant est onDigit6Pressed.

digit7Pressed(KeyEvent event)

Ce signal est émis lorsque le chiffre "7" a été appuyé. Le paramètre event fournit des informations sur l'événement.

Remarque : le gestionnaire correspondant est onDigit7Pressed.

digit8Pressed(KeyEvent event)

Ce signal est émis lorsque le chiffre "8" a été appuyé. Le paramètre event fournit des informations sur l'événement.

Remarque : le gestionnaire correspondant est onDigit8Pressed.

digit9Pressed(KeyEvent event)

Ce signal est émis lorsque le chiffre "9" a été appuyé. Le paramètre event fournit des informations sur l'événement.

Remarque : le gestionnaire correspondant est onDigit9Pressed.

downPressed(KeyEvent event)

Ce signal est émis lorsque la flèche vers le bas a été pressée. Le paramètre event fournit des informations sur l'événement.

Remarque : le gestionnaire correspondant est onDownPressed.

enterPressed(KeyEvent event)

Ce signal est émis lorsque la touche Entrée a été pressée. Le paramètre event fournit des informations sur l'événement.

Remarque : le gestionnaire correspondant est onEnterPressed.

escapePressed(KeyEvent event)

Ce signal est émis lorsque la touche Escape a été pressée. Le paramètre event fournit des informations sur l'événement.

Remarque : le gestionnaire correspondant est onEscapePressed.

flipPressed(KeyEvent event)

Ce signal est émis lorsque la touche Flip a été pressée. Le paramètre event fournit des informations sur l'événement.

Remarque : le gestionnaire correspondant est onFlipPressed.

hangupPressed(KeyEvent event)

Ce signal est émis lorsque la touche Raccrocher a été actionnée. Le paramètre event fournit des informations sur l'événement.

Remarque : le gestionnaire correspondant est onHangupPressed.

leftPressed(KeyEvent event)

Ce signal est émis lorsque la flèche gauche a été pressée. Le paramètre event fournit des informations sur l'événement.

Remarque : le gestionnaire correspondant est onLeftPressed.

Ce signal est émis lorsque la touche Menu a été pressée. Le paramètre event fournit des informations sur l'événement.

Remarque : le gestionnaire correspondant est onMenuPressed.

noPressed(KeyEvent event)

Ce signal est émis lorsque la touche No a été pressée. Le paramètre event fournit des informations sur l'événement.

Remarque : le gestionnaire correspondant est onNoPressed.

pressed(KeyEvent event)

Ce signal est émis lorsqu'une touche a été enfoncée. Le paramètre event fournit des informations sur l'événement.

Remarque : le gestionnaire correspondant est onPressed.

released(KeyEvent event)

Ce signal est émis lorsqu'une touche a été relâchée. Le paramètre event fournit des informations sur l'événement.

Remarque : le gestionnaire correspondant est onReleased.

returnPressed(KeyEvent event)

Ce signal est émis lorsque la touche Retour a été pressée. Le paramètre event fournit des informations sur l'événement.

Remarque : le gestionnaire correspondant est onReturnPressed.

rightPressed(KeyEvent event)

Ce signal est émis lorsque la flèche droite a été pressée. Le paramètre event fournit des informations sur l'événement.

Remarque : le gestionnaire correspondant est onRightPressed.

selectPressed(KeyEvent event)

Ce signal est émis lorsque la touche Select a été pressée. Le paramètre event fournit des informations sur l'événement.

Remarque : le gestionnaire correspondant est onSelectPressed.

shortcutOverride(KeyEvent event)

Ce signal est émis lorsqu'une touche potentiellement utilisable comme raccourci a été enfoncée. Le paramètre event fournit des informations sur l'événement.

Définissez event.accepted à true si vous souhaitez empêcher que la touche enfoncée soit utilisée comme raccourci par d'autres types, tels que Shortcut. Par exemple :

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")
}

Comme pour les autres signaux, shortcutOverride ne sera émis pour un élément que si cet élément possède activeFocus.

Remarque : le gestionnaire correspondant est onShortcutOverride.

Voir également Shortcut.

spacePressed(KeyEvent event)

Ce signal est émis lorsque la touche Espace a été pressée. Le paramètre event fournit des informations sur l'événement.

Remarque : le gestionnaire correspondant est onSpacePressed.

tabPressed(KeyEvent event)

Ce signal est émis lorsque la touche Tab a été pressée. Le paramètre event fournit des informations sur l'événement.

Remarque : le gestionnaire correspondant est onTabPressed.

upPressed(KeyEvent event)

Ce signal est émis lorsque la flèche vers le haut a été pressée. Le paramètre event fournit des informations sur l'événement.

Remarque : le gestionnaire correspondant est onUpPressed.

volumeDownPressed(KeyEvent event)

Ce signal est émis lorsque la touche VolumeDown a été enfoncée. Le paramètre event fournit des informations sur l'événement.

Remarque : le gestionnaire correspondant est onVolumeDownPressed.

volumeUpPressed(KeyEvent event)

Ce signal est émis lorsque la touche VolumeUp a été enfoncée. Le paramètre event fournit des informations sur l'événement.

Remarque : le gestionnaire correspondant est onVolumeUpPressed.

yesPressed(KeyEvent event)

Ce signal est émis lorsque la touche Oui a été enfoncée. Le paramètre event fournit des informations sur l'événement.

Remarque : le gestionnaire correspondant est 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.