Python - Détection de pression de touche
J'ai une application et je veux que chaque fois que l'utilisateur appuie sur le RETOUR/SAISIR passe pour un def avec une entrée.
Je suis en utilisant ce code:
while True:
z = getch()
# escape key to exit
if ord(z) == 9:
self.command()
break
if ord(z) == 27:
print "Encerrando processo.."
time.sleep(2)
sys.exit()
break
Mais à quelques blocs de là, et Si j'ai plus de code, il ne fonctionne pas, uniquement si le tout est cassé. Je ne peux pas utiliser tkinter!!!!
Est-il quelque chose qui ne fonctionne que si la touche est enfoncée? Sans boucle.
stackoverflow.com/questions/1258566/... peut vous aider avec entrée.
"Je suis en super-utilisateur, parce que je n'ai pas à vous inscrire et tout, mais ici nous allons.." - juste pour info, ce n'est pas acceptable. Pourquoi pensez-vous que c'est ok pour l'afficher sur un mauvais site, de sorte que vous n'avez pas à vous inscrire sur un autre?!
"Je suis en super-utilisateur, parce que je n'ai pas à vous inscrire et tout, mais ici nous allons.." - juste pour info, ce n'est pas acceptable. Pourquoi pensez-vous que c'est ok pour l'afficher sur un mauvais site, de sorte que vous n'avez pas à vous inscrire sur un autre?!
OriginalL'auteur | 2013-08-14
Vous devez vous connecter pour publier un commentaire.
L'une des façons que vous pouvez faire est de créer un nouveau thread pour exécuter la clé du détecteur. Voici un exemple:
Noter que la boucle while ne fonctionnera pas jusqu'à ce que vous appelez le fil de la fonction start (). Aussi, il ne répétera pas la fonction automatiquement, vous devez emballer votre code dans un tout-boucle pour répéter.
Ne pas appeler le fil de la fonction run() explicitement, que va provoquer l'exécution de code en ligne avec tous les autres codes, pas dans un thread séparé. Vous devez utiliser la fonction start() définie dans le filetage.Fil de sorte qu'il peut créer le nouveau thread.
Également note: Si vous prévoyez sur l'utilisation de la atexit module, la création de nouveaux sujets dans ce module ne fonctionne pas correctement. Juste un heads-up. 🙂
J'espère que cela a aidé!
OriginalL'auteur DJ8X
Il semble que vous vous êtes à la recherche d'une boucle while basé sur de l'entrée. Si vous mettez une liste de membres dans un tableau, alors vous pouvez vérifier l'entrée à chaque fois pour voir si c'est l'une des entrées que vous essayez d'attraper.
OriginalL'auteur cptroot