Tkinter按钮无法专注于点击

时间:2015-09-06 19:23:28

标签: python user-interface tkinter widget focus

我有这个简单的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来移动焦点。

这是预期的行为吗?为什么?

我知道我可以通过编程方式专注于小部件。我的问题只是为什么点击一个按钮不会把重点放在它上面。

1 个答案:

答案 0 :(得分:1)

这是预期的行为。我个人认为这是正确的行为。想象一下,使用文本编辑器,每次单击工具栏时,主区域都会失去焦点。我认为这会令人气愤。

话虽这么说,我认为ttk按钮的默认设置是将重点放在点击上。