事件键盘在 TKinter 中不起作用



我不知道为什么该事件不适用于我的脚本。 这似乎是合乎逻辑的,但我不知道为什么它不转到指定的功能。 这是我的脚本

from tkinter import *

root = Tk()
start = Label(root, text="press 's' to start the game.")
start.pack()
quitGame = Label(root, text="press 'q' to quit the game.")
quitGame.pack()
def start(event):
if event.char == 's':
print("Start")
def exit(event):
if event.char == 'q':
root.quit

frame = Frame(root, width=800, height=600)
root.bind('<Key>', start)
root.bind('<Key>', exit)
frame.pack()
root.mainloop()

当你调用bind时,你也会取消绑定该事件的所有其他函数。有一种方法可以绑定多个函数,但在您的情况下,最好将您的函数合并为一个。

import tkinter as tk
root = tk.Tk()
start = tk.Label(root, text="press 's' to start the game.")
start.pack()
quitGame = tk.Label(root, text="press 'q' to quit the game.")
quitGame.pack()
def key_pressed(event):
if event.char == 's':
print("Start")
if event.char == 'q':
root.quit()
frame = tk.Frame(root, width=800, height=600)
root.bind('<Key>', key_pressed)
frame.pack()
root.mainloop()

此外,尽量避免使用通配符导入;它们只会导致混淆代码和错误。

最新更新