如何检查 Tkinter 中的小部件是否具有焦点?
假设我们要检查特定的小部件是否设置了焦点。检查小部件焦点的唯一方法是使用实用程序方法 focus_get() 。它返回一个对象,该对象包含程序执行期间当前关注的小部件信息。我们将使用 focus_get() 方法在程序执行期间查找活动小部件。
示例
在此示例中,我们创建了一个Entry小部件,在按下
#导入 Tkinter 库
from tkinter import *
#创建一个 Tkinter 框架实例
win= Tk()
#定义这个框架的大小
win.geometry("750x250")
#为不同操作定义事件处理程序
def event_show(event):
label.config(text="Hello World")
e.focus_set()
print("焦点在:", e.focus_get)
#创建一个标签
label= Label(win, text="按 Enter 键", font=('Helvetica 15 underline'))
label.pack()
#创建一个输入小部件
e= Entry(win, width= 25)
e.pack(pady=20)
#绑定函数
win.bind('<Return>', lambda event:event_show(event))
win.mainloop()
输出
运行上述代码将显示一个窗口,其中包含一个按钮。当我们按下
现在,当我们按下<Enter>
键时,它将在 shell 中显示输出。
焦点在:<bound method Misc.focus_get of <tkinter.Entry object .!entry >>