Sur cette page

KeyEvent QML Type

Fournit des informations sur un événement clé. Plus d'informations...

Import Statement: import QtQuick

Propriétés

Méthodes

  • bool matches(StandardKey matchKey)

Description détaillée

Par exemple, le texte suivant modifie la propriété state de l'élément lorsque la touche Enter est enfoncée :

Item {
    focus: true
    Keys.onPressed: (event)=> { if (event.key == Qt.Key_Enter) state = 'ShowDetails'; }
}

Propriété Documentation

accepted : bool

La valeur "true" attribuée à accepted empêche la propagation de l'événement clé au parent de l'élément.

En règle générale, si l'élément agit sur l'événement clé, il doit être accepté afin que les éléments ancestraux ne réagissent pas également au même événement.

count : int [read-only]

Cette propriété contient le nombre de clés impliquées dans cet événement. Si KeyEvent::text n'est pas vide, il s'agit simplement de la longueur de la chaîne.

isAutoRepeat : bool [read-only]

Cette propriété indique si cet événement provient d'une clé à répétition automatique.

key : int [read-only]

Cette propriété contient le code de la touche qui a été enfoncée ou relâchée.

Voir Qt.Key pour la liste des codes de clavier. Ces codes sont indépendants du système de fenêtres sous-jacent. Notez que cette fonction ne fait pas la distinction entre les lettres majuscules et non majuscules ; utilisez la propriété text à cette fin.

Une valeur de 0 ou Qt.Key_Unknown signifie que l'événement n'est pas le résultat d'une touche connue ; par exemple, il peut être le résultat d'une séquence de composition, d'une macro clavier ou de la compression d'un événement clavier.

modifiers : int [read-only]

Cette propriété contient les drapeaux de modification du clavier qui existaient immédiatement avant l'événement.

Elle contient une combinaison bit à bit de valeurs numériques (comme dans Qt::KeyboardModifier) :

ConstanteDescription
Qt.NoModifierAucune touche de modification n'est enfoncée.
Qt.ShiftModifierUne touche Shift du clavier est enfoncée.
Qt.ControlModifierLa touche Ctrl du clavier est enfoncée.
Qt.AltModifierUne touche Alt du clavier est enfoncée.
Qt.MetaModifierUne touche Meta du clavier est enfoncée.
Qt.KeypadModifierUne touche du clavier est enfoncée.
Qt.GroupSwitchModifierX11 uniquement. Une touche Mode_switch du clavier est enfoncée.

Par exemple, pour réagir à une combinaison de touches Maj + Entrée :

Item {
    focus: true
    Keys.onPressed: (event)=> {
        if ((event.key == Qt.Key_Enter) && (event.modifiers & Qt.ShiftModifier))
            doSomething();
    }
}

nativeScanCode : quint32 [read-only]

Cette propriété contient le code de balayage natif de la touche qui a été enfoncée. Elle est transmise telle quelle par QKeyEvent.

Voir également QKeyEvent::nativeScanCode().

text : string [read-only]

Cette propriété contient le texte Unicode généré par la touche. Le texte renvoyé peut être une chaîne vide dans les cas où des touches de modification, telles que Shift, Control, Alt et Meta, sont enfoncées ou relâchées. Dans ce cas, key contiendra une valeur valide.

Documentation de la méthode

bool matches(StandardKey matchKey)

Renvoie true si l'événement clé correspond à la norme donnée matchKey; sinon, renvoie false.

Item {
    focus: true
    Keys.onPressed: (event)=> {
        if (event.matches(StandardKey.Undo))
            myModel.undo();
        else if (event.matches(StandardKey.Redo))
            myModel.redo();
    }
}

Voir également QKeySequence::StandardKey.

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