Viadeo Twitter Google Bookmarks ! Facebook Digg del.icio.us MySpace Yahoo MyWeb Blinklist Netvouz Reddit Simpy StumbleUpon Bookmarks Windows Live Favorites 
Logo Documentation Qt ·  Page d'accueil  ·  Toutes les classes  ·  Toutes les fonctions  ·  Vues d'ensemble  · 

QKeyEvent

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

#include <QKeyEvent>

Voir la position dans l'arbre des classes.

Héritage

Hérite de QInputEvent.

Description détaillée

La classe QKeyEvent décrit un événement clavier.

Les événements clavier sont envoyés au widget ayant le focus de l'entrée clavier lorsque les touches sont pressées ou relâchées.

Un événement clavier contient un drapeau (flag) spécial de validation qui indique si le receveur va gérer ou non l'événement clavier. Il est nécessaire d'appeler ignore() si l'événement d'enfoncement ou de relâchement de touche n'est pas géré par le widget. Un événement clavier remonte la chaine des widgets parents jusqu'à ce qu'un widget l'accepte avec accept() ou qu'un filtre d'événements le consomme. Les événements claviers pour les touches multimédia sont ignorés par défaut. Il est nécessaire d'appeler accept() si le widget gère ces événements.

La fonction QWidget::setEnable() peut être utilisée pour activer ou désactiver les événements de souris et de clavier pour un widget.

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

Voir aussi QFocusEvent et QWidget::grabKeyboard().

Fonctions membres

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

Construit un objet d'événement clavier.

Le paramètre type doit être défini à QEvent::KeyPress, QEvent::KeyRelease ou bien à QEvent::ShortcutOverride.

L'entier key est le code pour la 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 être le résultat d'une combinaison de touches ou d'une macro de clavier. Les modifiers gardent les modificateurs de clavier et le text donné est le texte Unicode que le clavier a généré. Si autorep est à true, [qkeyevent#isAutoRepeat|isAutoRepeat()]] renverra true. count est le nombre de touches impliquées dans l'événement.

int QKeyEvent::count () const

Retourne le nombre de touches impliquées dans cet événement. Si text() n'est pas vide, cela retourne simplement la longueur de la chaine.

Voir aussi Qt::WA_KeyCompression.

bool QKeyEvent::isAutoRepeat () const

Retourne true si cet événement provient d'une touche s'auto-répétant ; retourne false si cela provient de l'appui initial sur une touche.

Notez que si l'événement est un événement qui concerne de multiples touches et qui est partiellement dû à l'auto-répétition, cette fonction peut retourner de manière indéterminée true ou false.

int QKeyEvent::key () const

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

Voir Qt::Key pour la liste des codes claviers. Ces codes sont indépendants du système de fenêtrage sous-jacent. Notez que cette fonction ne fait pas la distinction entre les lettres majuscules et minuscules ; utilisez la fonction text() (retournant le texte Unicode que la touche a généré) pour cela.

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 résulter d'une composition de touches, d'une macro de clavier ou être dû à une composition d'événements clavier.

Voir aussi Qt::WA_KeyCompression.

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

Retourne true si l'événement clavier correspond à la touche standard key ; sinon, retourne false.

Cette fonction a été introduite dans Qt 4.2.

Qt::KeyboardModifiers QKeyEvent::modifiers () const

Retourne les drapeaux de modificateurs clavier qui existaient immédiatement après que l'événement s'est produit.

Attention : cette fonction n'est pas toujours fiable. L'utilisateur peut rendre confuse la valeur, par exemple en pressant les deux touches Shift simultanément et en relâchant l'une d'entre elles.

Voir aussi QApplication::keyboardModifiers().

quint32 QKeyEvent::nativeModifiers () const

Retourne les modificateurs natifs d'un événement clavier. Si l'événement clavier ne contient pas cette donnée, 0 est retourné.

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

Cette fonction a été introduite dans Qt 4.2.

quint32 QKeyEvent::nativeScanCode () const

Retourne le code d'analyse natif de l'événement clavier. Si l'événement clavier ne contient pas cette donnée, 0 est retourné.

Note : le code d'analyse natif peut être 0 même si l'événement clavier contient des informations étendues.

Note : sous Mac OS/X, cette fonction n'est pas utile parce qu'il n'y a pas de moyen d'obtenir le code d'analyse depuis Carbon ou Cocoa. Cette fonction y retourne toujours 1 (ou 0 dans le cas expliqué ci-dessus).

Cette fonction a été introduite dans Qt 4.2.

quint32 QKeyEvent::nativeVirtualKey () const

Retourne la touche virtuelle native ou symbole de l'événement clavier. Si l'événement ne contient pas cette donnée, 0 est retourné.

Note : la touche virtuelle peut être 0 même si l'événement clavier contient des informations étendues.

Cette fonction a été introduite dans Qt 4.2.

QString QKeyEvent::text () const

Retourne le texte Unicode que cette touche a généré. Le texte retourné peut être une chaine vide dans le cas où les modificateurs de touches comme Shift, Control, Alt ou Meta, sont enfoncés ou relâchés. Dans les autres cas, key() contiendra une valeur valide.

Voir aussi Qt::WA_KeyCompression.

En relation mais non membres de la classe

bool operator== ( QKeyEvent * e, QKeySequence::StandardKey key )

Retourne true si key est actuellement liée à la combinaison de touches spécifiée par e.

Équivalent à e->matches(key).

bool operator== ( QKeySequence::StandardKey key, QKeyEvent * e )

Retourne true si key est actuellement liée à la combinaison de touches spécifiée par e.

Équivalent à e->matches(key).

Remerciements

Merci à Louis du Verdier pour la traduction et à Jonathan Courtois ainsi qu'à Maxime Gault pour leur relecture !

Publicité

Best Of

Actualités les plus lues

Semaine
Mois
Année
  1. « Quelque chose ne va vraiment pas avec les développeurs "modernes" », un développeur à "l'ancienne" critique la multiplication des bibliothèques 64
  2. Apercevoir la troisième dimension ou l'utilisation multithreadée d'OpenGL dans Qt, un article des Qt Quarterly traduit par Guillaume Belz 0
  3. Les développeurs ignorent-ils trop les failles découvertes dans leur code ? Prenez-vous en compte les remarques des autres ? 17
  4. BlackBerry 10 : premières images du prochain OS de RIM qui devrait intégrer des widgets et des tuiles inspirées de Windows Phone 0
  5. Quelles nouveautés de C++11 Visual C++ doit-il rapidement intégrer ? Donnez-nous votre avis 10
  6. Adieu qmake, bienvenue qbs : Qt Building Suite, un outil déclaratif et extensible pour la compilation de projets Qt 17
  7. La rubrique Qt a besoin de vous ! 1
Page suivante

Le Qt Labs au hasard

Logo

Construire l'avenir : (ré-)introduction aux composants de Qt Quick

Les Qt Labs sont les laboratoires des développeurs de Qt, où ils peuvent partager des impressions sur le framework, son utilisation, ce que pourrait être son futur. Lire l'article.

Communauté

Ressources

Liens utiles

Contact

  • Vous souhaitez rejoindre la rédaction ou proposer un tutoriel, une traduction, une question... ? Postez dans le forum Contribuez ou contactez-nous par MP ou par email (voir en bas de page).

Qt dans le magazine

Cette page est une traduction d'une page de la documentation de Qt, écrite par Nokia Corporation and/or its subsidiary(-ies). Les éventuels problèmes résultant d'une mauvaise traduction ne sont pas imputables à Nokia. Qt 4.7
Copyright © 2012 Developpez LLC. Tous droits réservés Developpez LLC. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents et images sans l'autorisation expresse de Developpez LLC. Sinon, vous encourez selon la loi jusqu'à 3 ans de prison et jusqu'à 300 000 E de dommages et intérêts. Cette page est déposée à la SACD.
Vous avez déniché une erreur ? Un bug ? Une redirection cassée ? Ou tout autre problème, quel qu'il soit ? Ou bien vous désirez participer à ce projet de traduction ? N'hésitez pas à nous contacter ou par MP !
 
 
 
 
Partenaires

Hébergement Web