Sur cette page

QKeyEvent Class

La classe QKeyEvent décrit un événement de touche. Plus d'informations...

En-tête : #include <QKeyEvent>
CMake : find_package(Qt6 REQUIRED COMPONENTS Gui)
target_link_libraries(mytarget PRIVATE Qt6::Gui)
qmake : QT += gui
Héritages : QInputEvent

Fonctions publiques

QKeyEvent(QEvent::Type type, int key, Qt::KeyboardModifiers modifiers, const QString &text = QString(), bool autorep = false, quint16 count = 1)
QKeyEvent(QEvent::Type type, int key, Qt::KeyboardModifiers modifiers, quint32 nativeScanCode, quint32 nativeVirtualKey, quint32 nativeModifiers, const QString &text = QString(), bool autorep = false, quint16 count = 1, const QInputDevice *device = QInputDevice::primaryKeyboard())
int count() const
bool isAutoRepeat() const
int key() const
(since 6.0) QKeyCombination keyCombination() const
bool matches(QKeySequence::StandardKey key) const
Qt::KeyboardModifiers modifiers() const
quint32 nativeModifiers() const
quint32 nativeScanCode() const
quint32 nativeVirtualKey() const
QString text() const

Description détaillée

Les événements liés aux touches sont envoyés au widget qui a le focus sur la saisie au clavier lorsque les touches sont pressées ou relâchées.

Un événement de touche contient un indicateur d'acceptation spécial qui indique si le récepteur traitera l'événement de touche. Cet indicateur est activé par défaut pour QEvent::KeyPress et QEvent::KeyRelease, il n'est donc pas nécessaire d'appeler accept() lors de l'exécution d'un événement de touche. Pour QEvent::ShortcutOverride, le destinataire doit accepter explicitement l'événement pour déclencher l'annulation. L'appel à ignore() sur un événement clé le propage au widget parent. L'événement est propagé dans la chaîne du widget parent jusqu'à ce qu'un widget l'accepte ou qu'un filtre d'événement le consomme.

La fonction QWidget::setEnabled() peut être utilisée pour activer ou désactiver les événements liés à la souris et au clavier pour un widget.

Les gestionnaires d'événements QWidget::keyPressEvent(), QWidget::keyReleaseEvent(), QGraphicsItem::keyPressEvent() et QGraphicsItem::keyReleaseEvent() reçoivent les événements liés aux touches.

Voir également QFocusEvent et QWidget::grabKeyboard().

Documentation sur les fonctions membres

QKeyEvent::QKeyEvent(QEvent::Type type, int key, Qt::KeyboardModifiers modifiers, const QString &text = QString(), bool autorep = false, quint16 count = 1)

Construit un objet d'événement clé.

Le paramètre type doit être QEvent::KeyPress, QEvent::KeyRelease, ou QEvent::ShortcutOverride.

Int key est le code de l'événement Qt::Key que la boucle d'événement doit écouter. Si key vaut 0, l'événement n'est pas le résultat d'une touche connue ; par exemple, il peut s'agir du résultat d'une séquence de composition ou d'une macro clavier. modifiers contient les modificateurs de clavier et text est le texte Unicode généré par la touche. Si autorep est vrai, isAutoRepeat() sera vrai. count est le nombre de touches impliquées dans l'événement.

QKeyEvent::QKeyEvent(QEvent::Type type, int key, Qt::KeyboardModifiers modifiers, quint32 nativeScanCode, quint32 nativeVirtualKey, quint32 nativeModifiers, const QString &text = QString(), bool autorep = false, quint16 count = 1, const QInputDevice *device = QInputDevice::primaryKeyboard())

Construit un objet d'événement clé.

Le paramètre type doit être QEvent::KeyPress, QEvent::KeyRelease, ou QEvent::ShortcutOverride.

Int key est le code de l'événement Qt::Key que la boucle d'événement doit écouter. Si key vaut 0, l'événement n'est pas le résultat d'une touche connue ; par exemple, il peut s'agir du résultat d'une séquence de composition ou d'une macro clavier. modifiers contient les modificateurs de clavier et text est le texte Unicode généré par la touche. Si autorep est vrai, isAutoRepeat() sera vrai. count est le nombre de touches impliquées dans l'événement.

En plus des données normales de l'événement clé, contient également nativeScanCode, nativeVirtualKey et nativeModifiers. Ces données supplémentaires sont utilisées par le système de raccourcis pour déterminer les raccourcis à déclencher.

int QKeyEvent::count() const

Renvoie le nombre de clés impliquées dans cet événement. Si text() n'est pas vide, il s'agit simplement de la longueur de la chaîne.

Voir aussi Qt::WA_KeyCompression.

bool QKeyEvent::isAutoRepeat() const

Renvoie true si cet événement provient d'une touche à répétition automatique ; renvoie false s'il provient d'une pression initiale sur une touche.

Notez que si l'événement est un événement compressé à touches multiples dû en partie à la répétition automatique, cette fonction peut renvoyer soit vrai, soit faux de manière indéterminée.

int QKeyEvent::key() const

Renvoie 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 fonction text() (qui renvoie le texte Unicode généré par la touche) à cette fin.

Une valeur de 0 ou de 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 d'une compression d'événement de touche.

Voir également Qt::WA_KeyCompression.

[since 6.0] QKeyCombination QKeyEvent::keyCombination() const

Renvoie un objet QKeyCombination contenant à la fois le key() et le modifiers() porté par cet événement.

Cette fonction a été introduite dans Qt 6.0.

bool QKeyEvent::matches(QKeySequence::StandardKey key) const

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

Qt::KeyboardModifiers QKeyEvent::modifiers() const

Renvoie les drapeaux des modificateurs de clavier qui existaient immédiatement après l'événement.

Attention : Cette fonction n'est pas toujours fiable. L'utilisateur peut la confondre en appuyant simultanément sur les deux touches Shift et en relâchant l'une d'entre elles, par exemple.

Voir aussi QGuiApplication::keyboardModifiers().

quint32 QKeyEvent::nativeModifiers() const

Renvoie les modificateurs natifs d'un événement clé. Si l'événement clé ne contient pas ces données, la valeur 0 est renvoyée.

Remarque : les modificateurs natifs peuvent être 0, même si l'événement clé contient des informations étendues.

quint32 QKeyEvent::nativeScanCode() const

Renvoie le code de balayage natif de l'événement clé. Si l'événement clé ne contient pas ces données, la valeur 0 est renvoyée.

Remarque : le code de balayage natif peut être 0, même si l'événement clé contient des informations étendues.

quint32 QKeyEvent::nativeVirtualKey() const

Renvoie la clé virtuelle native ou le symétrique de clé de l'événement de clé. Si l'événement clé ne contient pas ces données, la valeur 0 est renvoyée.

Remarque : la clé virtuelle native peut être 0, même si l'événement clé contient des informations étendues.

QString QKeyEvent::text() const

Renvoie le texte Unicode généré par cette clé.

Le texte n'est pas limité à la plage imprimable des points de code Unicode et peut inclure des caractères de contrôle ou des caractères d'autres catégories Unicode, y compris QChar::Other_PrivateUse.

Le texte peut également être vide, par exemple lorsque des touches de modification telles que Shift, Control, Alt et Meta sont enfoncées (en fonction de la plate-forme). La fonction key() renvoie toujours une valeur valide.

Voir également Qt::WA_KeyCompression.

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