Bon et bien tout est dans le titre.
Je souhaite lire une touche au clavier de façon non bloquante.
Remarque: je n'ai pas envie de créer un thread avec raw_input("entrer une touche").
Bon et bien tout est dans le titre.
Je souhaite lire une touche au clavier de façon non bloquante.
Remarque: je n'ai pas envie de créer un thread avec raw_input("entrer une touche").
J'ai justement fait ça hier
Je ne sais pas si ça fonctionne sous Linux, je n'ai pas encore essayé, mais pour Windows, c'est bon.
Regarde la fonction getChar()
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41 # ENVIRONNEMENT !! if sys.platform.startswith("linux"): isLINUX = True import tty import termios else: isLINUX = False import msvcrt def ClearScreen (): "effacer la console" if isLINUX : os.system('clear') else: os.system('cls') def getChar (): "saisie d'un caractère sans retour chariot" if isLINUX : fd = sys.stdin.fileno() old_settings = termios.tcgetattr(fd) tty.setraw(sys.stdin.fileno()) return sys.stdin.read(1) else: return msvcrt.getch() def nextPage (): print u"\n\n---------- appuyer sur une touche pour continuer, sur q pour quitter ----------" char = getChar() if char == 'q' or char == 'Q' : return False return True def attendClavier (): print u"\n\n--------------- terminé ; appuyer sur une touche pour continuer ---------------" char = getChar() def msgAnnulation (): print u"\n\n---------- opération annulée ; appuyer sur une touche pour continuer ----------" char = getChar()
Mille mercis. J'ai l'impression que c'est bloquant ? Il semble qu'il n'y ait pas d'attente de \n, mais il y a quand même une attente de touche.
http://python.developpez.com/faq/?pa...nt#TkBindEvent
c'est peut-être une piste ...
Je n'ai pas prévu de travailler avec Tkinter.
Merci quand même.
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