J'ai une minuterie, et j'ai besoin de savoir si l'une des touches est pressée sur un cycle quelconque. Comment fait-on ça?Savoir si une touche est enfoncée, wxPython
0
A
Répondre
0
Si vous utilisez Windows, utilisez PyHook Si vous voulez savoir l'échelle du système des événements de presse clés.
import pythoncom, pyHook
def OnKeyboardEvent(event):
print 'Ascii:', event.Ascii, chr(event.Ascii)
print 'Key:', event.Key
print 'KeyID:', event.KeyID
print 'ScanCode:', event.ScanCode
print 'Extended:', event.Extended
return True #for pass through key events, False to eat Keys
hm = pyHook.HookManager()
hm.KeyDown = OnKeyboardEvent
hm.HookKeyboard()
pythoncom.PumpMessages()
0
Essayez:
import sys
c = sys.stdin.read(1)
1
Si vous utilisez Linux, il est trouvé dans le module curses
, si vous utilisez Windows, il est dans le module msvcrt
. J'ai trouvé article suivant très utile pour décrire ce sujet - Event Driven Programming
Questions connexes
- 1. Comment savoir quelle touche de caractère est enfoncée?
- 2. Comment vérifier si une touche a été enfoncée sous Linux?
- 3. TinyMCE: listes imbriquées si l'onglet touche est enfoncée
- 4. elisp comment vérifier si la touche Shift est enfoncée
- 5. Comment savoir quelle touche SHIFT a été enfoncée?
- 6. Entrées en SDL (sur une touche enfoncée)
- 7. Détection lorsque la touche Maj est enfoncée
- 8. Mouvement continu lorsqu'une touche est maintenue enfoncée
- 9. Déterminer si une touche est actuellement pressée
- 10. Comment vérifier si la touche enfoncée était une touche fléchée dans Java KeyListener?
- 11. Détermination de la touche enfoncée
- 12. détecter si une touche est enfoncée en C# (non A, B, mais tout)
- 13. Puis-je déterminer si une touche Ctrl est enfoncée Ctrl gauche ou Ctrl droite?
- 14. déclencher la fonction javascript lorsqu'une touche est enfoncée dans fckeditor
- 15. Comment vérifier si plus d'une touche est enfoncée à la fois?
- 16. C# - Détecter si la touche MAJ est enfoncée lors de l'ouverture d'un menu contextuel
- 17. Comment utiliser Ruby pour détecter si sous Windows Platform, la touche SHIFT ou ALT est enfoncée?
- 18. Comment intercepter une touche dure enfoncée dans un service?
- 19. Changer l'animation sur un MovieClip sur une touche enfoncée
- 20. La touche de détection de touche est enfoncée sans utiliser d'événements dans Windows Forms?
- 21. Comment savoir si le décalage est actionné avec RawInput?
- 22. Obtenir du texte lorsque l'entrée est enfoncée dans une zone de texte dans wxPython
- 23. comment savoir si une forme est praticable
- 24. android savoir si une application est installée
- 25. Comment savoir si une session est active?
- 26. Comment savoir si une fonction est terminée?
- 27. Savoir si une propriété est déclarée virtuelle
- 28. wxPython + multitraitement: vérifier si une chaîne de couleur est légitime
- 29. Comment déterminez-vous si un caractère nécessite que la touche Majuscule soit enfoncée pour être tapée?
- 30. Transmettre l'événement de touche enfoncée à l'applet et l'arrêter propagation
msvcrt.getch() semble planter mon application WX –
Soit poster une information de retraçage ou donner plus de détails sur ce qui se passe dans le code. Même en utilisant 'msvcrt', vous devrez écrire des gestionnaires d'événements et les appeler depuis votre boucle de minuterie. Toutefois, compte tenu de votre commentaire sur l'exécution en arrière-plan, msvcrt devrait être ce que vous cherchez. Vous aurez juste besoin de comprendre comment l'utiliser dans votre cas particulier. – artdanil
il n'y a pas de traceback, mon application se bloque juste. –