Tkinter按钮不会在Cli上获得焦点

2024-10-01 09:33:37 发布

您现在位置:Python中文网/ 问答频道 /正文

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

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

我知道我可以通过编程将焦点放在小部件上。我的问题只是为什么点击一个按钮就不能集中注意力。在


Tags: keytextevent应用程序bindguibuttonroot
1条回答
网友
1楼 · 发布于 2024-10-01 09:33:37

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

也就是说,我认为ttk按钮的默认设置是在点击时偷取焦点。在

相关问题 更多 >