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:
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:
Regarde ces different liens ils devraient poiouvoir t'aider:
http://qt.developpez.com/doc/latest/...#keyPressEvent
http://qt.developpez.com/doc/latest/qkeyevent.html
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.
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?
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.
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.
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
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager