按钮绑定后,如何操作呢 ?
from tkinter import *
root=Tk()
def p(event):
print("123456789")
m=Button(root,text="晴朗")
m.pack()
m.bind("<KeyPress-a>",p)
mainloop()
按键盘【a】键后,怎么没有输出啊?俺不会操作吗 ? 你遇到的问题是因为按钮没有获得焦点。在 Tkinter 中,键盘事件只会发送给当前获得焦点的小部件。你的代码将 <KeyPress-a> 事件绑定到了按钮 m,但程序启动时按钮并没有自动获得焦点,所以按 键没有反应。
正确的操作方法:
1. 运行程序后,先用鼠标点击一下按钮(这样按钮就获得了焦点)。
2. 然后按键盘上的 键,这时就会输出 "123456789"。
改进建议:
如果你希望无论焦点在哪里,按 键都能触发事件,可以将事件绑定到根窗口 root 上。修改代码如下:
from tkinter import *
root = Tk()
def p(event):
print("123456789")
m = Button(root, text="晴朗")
m.pack()
# 将事件绑定到根窗口,这样只要窗口有焦点,按 a 键就会触发
root.bind("<KeyPress-a>", p)
mainloop()
这样修改后,只要程序窗口是激活状态(有焦点),按 键就会输出,无需先点击按钮。
如果你还有其他问题,请继续提问!
以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。 因为你应该绑定root而不是按钮m
页:
[1]