我正在使用Python创建一个交互式游戏,并且我试图通过“按任意键继续”进行介绍。我遇到了一些麻烦,因为很难将所有键绑定到一个动作。
我尝试绑定到'<Any>'
,但显示错误消息。
from tkinter import *
window = Tk()
root = Canvas(window, width=500, height=500)
def testing():
print("Hello!")
def countdown(count, label):
label['text'] = count
if count > -1:
root.after(1000, countdown, count-1, label)
elif count == 0:
label['text'] = 'Time Expired'
elif count < 0:
label.destroy()
root.bind_all('<Any>', testing)
root.pack()
root.mainloop()
如前所述,'<Any>'
键绑定导致显示错误消息:tkinter.TclError: bad event type or keysym "Any"
。有没有将每个键绑定到操作的简单方法?
答案 0 :(得分:3)
我使用<Key>
,它将捕获任何键盘事件并打印“ Hello”。并且不要忘记在event
中指定event=None
或testing()
参数。
from tkinter import *
window = Tk()
root = Canvas(window, width=500, height=500)
def testing(event):
print("Hello!")
def countdown(count, label):
label['text'] = count
if count > -1:
root.after(1000, countdown, count-1, label)
elif count == 0:
label['text'] = 'Time Expired'
elif count < 0:
label.destroy()
root.bind_all('<Key>', testing)
root.pack()
root.mainloop()