Код ввода клавиши со стрелкой не работает в tkinter
Ниже приводится мой короткий сценарий. Он предназначен для печати вправо влево и вверх, когда эти клавиши со стрелками удерживаются, но я неНе знаю, почему это не работает.
import Tkinter as tk
right = False
left = False
up = False
def keyPressed(event):
if event.keysym == 'Escape':
root.destroy()
if event.keysym == 'Right':
right = True
if event.keysym == 'Left':
left = True
if event.keysym == 'Up':
up = True
def keyReleased(event):
if event.keysym == 'Right':
right = False
if event.keysym == 'Left':
left = False
if event.keysym == 'Up':
up = False
def task():
if right:
print 'Right'
if left:
print 'Left'
if up:
print 'Forward'
root.after(20,task)
root = tk.Tk()
print( "Press arrow key (Escape key to exit):" )
root.bind_all('', keyPressed)
root.bind_all('', keyReleased)
root.after(20,task)
root.withdraw()
root.mainloop()
Проблема началась, когда я начал использовать.root.after()