我有这个简单的GUI应用程序:
from tkinter import *
def Key(event):
print(event.char)
root = Tk()
btn1 = Button(root, text='Button1')
btn1.pack(side=LEFT)
btn1.bind('<Key>', Key)
btn2 = Button(root, text='Button2')
btn2.pack(side=LEFT)
btn2.bind('<Key>', Key)
root.mainloop()
我希望按钮能够获得焦点,并在点击它们时开始接受KeyPress
个事件,并且它们应该显示一个虚线框,表示处于焦点,但这不会发生。我必须使用Tab
来移动焦点。
这是预期的行为吗?为什么?
我知道我可以通过编程方式专注于小部件。我的问题只是为什么点击一个按钮不会把重点放在它上面。
答案 0 :(得分:1)
这是预期的行为。我个人认为这是正确的行为。想象一下,使用文本编辑器,每次单击工具栏时,主区域都会失去焦点。我认为这会令人气愤。
话虽这么说,我认为ttk按钮的默认设置是将重点放在点击上。