IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Qt Discussion :

Détecter les touches du clavier


Sujet :

Qt

  1. #1
    En attente de confirmation mail
    Inscrit en
    Juillet 2005
    Messages
    25
    Détails du profil
    Informations forums :
    Inscription : Juillet 2005
    Messages : 25
    Points : 14
    Points
    14
    Par défaut Détecter les touches du clavier
    Salut

    Je cherche à détecter les frappes au clavier pour les renvoyer à l'écran (ver un QTextEdit) et sur le port série (je communique avec un µcontroleur)

    Savez-vous comment détecter les frappes?

    merci:

  2. #2
    Rédacteur

    Inscrit en
    Novembre 2006
    Messages
    1 272
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 272
    Points : 1 672
    Points
    1 672
    Vous voulez participer aux Tutoriels, FAQ ou Traductions et faire partie de l'équipe Qt de Developpez.
    N'hésitez pas à me contacter par MP.

  3. #3
    En attente de confirmation mail
    Inscrit en
    Juillet 2005
    Messages
    25
    Détails du profil
    Informations forums :
    Inscription : Juillet 2005
    Messages : 25
    Points : 14
    Points
    14
    Par défaut
    j'ai trouvé une solution (plutot compliqué), c'est de réimplémenter KeyPressEvent().

    Pourquoi compliqué? car je dois faire un switch avec toutes les touches du clavier -en prenant en compte les majuscules- avant de renvoyer la lettre vers l'écran et le terminal

    Z' aurez pas un moyen plus simple?

  4. #4
    Membre actif Avatar de cayou66
    Inscrit en
    Décembre 2008
    Messages
    286
    Détails du profil
    Informations personnelles :
    Âge : 36

    Informations forums :
    Inscription : Décembre 2008
    Messages : 286
    Points : 273
    Points
    273
    Par défaut
    Salut,
    il me semble que keyPressEvent renvoit un QKeyEvent, qui contient un QString qui correspond à la touche pressée...

    Tout est prévu, non?

  5. #5
    yan
    yan est déconnecté
    Rédacteur
    Avatar de yan
    Homme Profil pro
    Ingénieur expert
    Inscrit en
    Mars 2004
    Messages
    10 033
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur expert
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2004
    Messages : 10 033
    Points : 13 968
    Points
    13 968
    Par défaut
    Citation Envoyé par cayou66 Voir le message
    Salut,
    il me semble que keyPressEvent renvoit un QKeyEvent, qui contient un QString qui correspond à la touche pressée...

    Tout est prévu, non*?
    oui. Le seul hic c'est que cela t'oblige à faire un héritage. L'utilisation des eventfilters est beaucoup plus puissante. Cela te permet de filtrer les évents de plusieurs widget en même temps, de permettre qu'un widget ne reçoive pas l'évent...
    Dans l'exemple que je donne, l'évent filter sur QApplication, permet de récupérer tous les événements clavier, quelque soit le widget actif.

  6. #6
    Membre actif Avatar de cayou66
    Inscrit en
    Décembre 2008
    Messages
    286
    Détails du profil
    Informations personnelles :
    Âge : 36

    Informations forums :
    Inscription : Décembre 2008
    Messages : 286
    Points : 273
    Points
    273
    Par défaut
    Autant pour moi, en effet, les EventFilter sont plus puissant, ne serait-ce par le fait que l'on est pas obligé de redéfinir les méthodes.

    Malgré tout, avec le QKeyEvent, le switch n'était donc pas utile.

  7. #7
    yan
    yan est déconnecté
    Rédacteur
    Avatar de yan
    Homme Profil pro
    Ingénieur expert
    Inscrit en
    Mars 2004
    Messages
    10 033
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur expert
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2004
    Messages : 10 033
    Points : 13 968
    Points
    13 968
    Par défaut
    Citation Envoyé par cayou66 Voir le message
    Malgré tout, avec le QKeyEvent, le switch n'était donc pas utile.
    quel switch?

  8. #8
    Membre actif Avatar de cayou66
    Inscrit en
    Décembre 2008
    Messages
    286
    Détails du profil
    Informations personnelles :
    Âge : 36

    Informations forums :
    Inscription : Décembre 2008
    Messages : 286
    Points : 273
    Points
    273
    Par défaut
    Citation Envoyé par lenul Voir le message
    j'ai trouvé une solution (plutot compliqué), c'est de réimplémenter KeyPressEvent().

    Pourquoi compliqué? car je dois faire un switch avec toutes les touches du clavier -en prenant en compte les majuscules- avant de renvoyer la lettre vers l'écran et le terminal

    Z' aurez pas un moyen plus simple?
    Celui-ci?

  9. #9
    En attente de confirmation mail
    Inscrit en
    Juillet 2005
    Messages
    25
    Détails du profil
    Informations forums :
    Inscription : Juillet 2005
    Messages : 25
    Points : 14
    Points
    14
    Par défaut
    Excusez-moi pour ma réponse tardive à mon poste

    En effet, le QKeyEvent contient bien le code UTF généré par la combinaison de touche, ce qui me permet de supprimer mon switch!

    pour le filtre d'évènements, je ferai des testes (car je trouve la méthode du QKeyEvent trop lente!)

    Merci

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 3
    Dernier message: 06/04/2011, 20h45
  2. [C#2.0] Intercepter les touches du clavier
    Par iowa dans le forum Windows Forms
    Réponses: 10
    Dernier message: 28/04/2006, 11h42
  3. Logiciel pour enregistrer les touches du clavier
    Par WELCOMSMAIL dans le forum Autres Logiciels
    Réponses: 20
    Dernier message: 27/04/2006, 13h18
  4. Valider avec les touches du clavier
    Par pierrot67 dans le forum Bases de données
    Réponses: 8
    Dernier message: 17/02/2006, 08h22

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo