Tkinter 按钮不会在点击时获得焦点
Tkinter Button Will Not Get Focus on Click
我有这个简单的 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
来移动焦点。
这是预期的行为吗?为什么?
我知道我可以通过编程将焦点放在小部件上。我的问题只是关于为什么点击一个按钮不会把焦点放在它上面。
这是预期的行为。我个人认为这是正确的行为。想象一下使用文本编辑器,每次单击工具栏时,主要区域都会失去焦点。我认为那会令人气愤。
话虽如此,我认为 ttk 按钮的默认设置是在点击时窃取焦点。
我有这个简单的 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
来移动焦点。
这是预期的行为吗?为什么?
我知道我可以通过编程将焦点放在小部件上。我的问题只是关于为什么点击一个按钮不会把焦点放在它上面。
这是预期的行为。我个人认为这是正确的行为。想象一下使用文本编辑器,每次单击工具栏时,主要区域都会失去焦点。我认为那会令人气愤。
话虽如此,我认为 ttk 按钮的默认设置是在点击时窃取焦点。