【问题标题】:Tkinter Button Will Not Get Focus on ClickTkinter 按钮不会在点击时获得焦点
【发布时间】:2015-09-06 19:23:27
【问题描述】:

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

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

我知道我可以通过编程将焦点放在小部件上。我的问题只是关于为什么单击按钮不会将焦点放在它上面。

【问题讨论】:

    标签: python user-interface tkinter widget focus


    【解决方案1】:

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

    话虽如此,我认为 ttk 按钮的默认设置是在点击时窃取焦点。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-11-11
      • 1970-01-01
      • 2020-10-26
      • 2012-12-05
      • 2012-07-13
      • 1970-01-01
      • 2012-07-05
      • 2016-02-18
      相关资源
      最近更新 更多