python - Tkinter 按钮不会在点击时获得焦点

标签 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 来移动焦点。

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

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

最佳答案

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

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

关于python - Tkinter 按钮不会在点击时获得焦点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32427378/

相关文章:

python - 从 Python WMI 获取 CPU 信息

python - 如何向公众发布使用 API key 的 Python 应用程序?

python - 如何使用 opencv 检测视频摄像机中的黑色?

java - 如何设计美观的 GWT 应用程序?

java - 在java中的jfreechart上添加按钮

Python-tkinter : Opening and closing dialog windows

python - 如何使用 re 查找连续、重复的字符

javascript - 部署聊天机器人插件后,Fiori 启动板变得无响应

python - 一定时间后自动关闭窗口

python - TK 图像未出现