KeyEvent QML Type (Uncreatable)
Fournit des informations sur un événement clé. En savoir plus...
| Import Statement: | import QtQuick |
Remarque : il s'agit d'un type non instanciable. Il ne peut pas être instancié en QML.
Propriétés
- accepted : bool
- count : int
- isAutoRepeat : bool
- key : int
- modifiers : int
- nativeScanCode : quint32
- text : string
Méthodes
- bool matches(StandardKey matchKey)
Description détaillée
Par exemple, le code suivant modifie la propriété « state » de l'élément lorsque l'on appuie sur la touche Entrée :
Item {
focus: true
Keys.onPressed: (event)=> { if (event.key == Qt.Key_Enter) state = 'ShowDetails'; }
}Documentation sur les propriétés
accepted : bool
En définissant la propriété ` accepted ` sur `true`, on empêche la propagation de l'événement de touche vers le parent de l'élément.
En règle générale, si l'élément réagit à l'événement de touche, celui-ci doit être accepté afin que les éléments ancêtres ne réagissent pas également à ce 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é s'applique, que cet événement provienne ou non 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.
Consultez Qt.Key pour obtenir la liste des codes clavier. Ces codes sont indépendants du système de fenêtrage sous-jacent. Notez que cette fonction ne fait pas la distinction entre les majuscules et les minuscules ; utilisez la propriété text à cette fin.
Une valeur égale à 0 ou à Qt.Key_Unknown signifie que l'événement n'est pas le résultat d'une touche connue ; il peut par exemple s'agir du résultat d'une séquence de composition, d'une macro clavier ou d'une compression d'événements de touches.
modifiers : int [read-only]
Cette propriété contient les indicateurs de modification du clavier qui existaient juste avant que l'événement ne se produise.
Elle contient une combinaison binaire de valeurs numériques (identique à celle de la méthode ` Qt::KeyboardModifier`) :
| Constante | Description |
|---|---|
Qt.NoModifier | Aucune touche de modification n'est enfoncée. |
Qt.ShiftModifier | Une touche Maj du clavier est enfoncée. |
Qt.ControlModifier | La touche Ctrl du clavier est enfoncée. |
Qt.AltModifier | La touche Alt du clavier est enfoncée. |
Qt.MetaModifier | La touche Meta du clavier est enfoncée. |
Qt.KeypadModifier | Une touche du pavé numérique est enfoncée. |
Qt.GroupSwitchModifier | X11 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 depuis 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 lorsque des touches de modification, telles que Maj, Ctrl, Alt et Méta, sont enfoncées ou relâchées. Dans ce cas, la propriété « key » contiendra une valeur valide
Documentation de la méthode
bool matches(StandardKey matchKey)
Renvoie « true » si l'événement de touche correspond à la norme indiqué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.