以下是我的简短脚本。它的目的是在按住这些箭头键时打印左右,但我不知道为什么它不起作用。
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('<Key>', keyPressed)
root.bind_all('<KeyRelease>', keyReleased)
root.after(20,task)
root.withdraw()
root.mainloop()
当我开始使用root.after()
.