Advertisement
furas

Python - Tkinter - Catch two digits number

Jan 7th, 2016
274
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 0.65 KB | None | 0 0
  1. import tkinter as tk
  2.  
  3. ''' catch two (or more) keys pressed in short time and tread it as one text '''
  4.  
  5. # --- functions ---
  6.  
  7. # keys buffer
  8. keybuf = []
  9.  
  10.  
  11. def test_after():
  12.  
  13.     # check if buffer is not empty
  14.     if keybuf:
  15.  
  16.         # get all keys in buffer as one text
  17.         text = ''.join(keybuf)
  18.    
  19.         # clear buffer
  20.         keybuf.clear()
  21.  
  22.         # run some function here
  23.         print('after:', text)    
  24.  
  25.  
  26. def get_key(event):
  27.  
  28.     # save key in buffer    
  29.     keybuf.append(event.char)
  30.    
  31.     # check buffer after 500ms (0.5s)
  32.     root.after(500, test_after)
  33.  
  34. # --- main ---
  35.  
  36. root = tk.Tk()
  37.  
  38. root.bind('<Key>', get_key)
  39.  
  40. root.mainloop()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement