如何检查 Tkinter 中的小部件是否具有焦点?

如何检查 Tkinter 中的小部件是否具有焦点?

假设我们要检查特定的小部件是否设置了焦点。检查小部件焦点的唯一方法是使用实用程序方法 focus_get() 。它返回一个对象,该对象包含程序执行期间当前关注的小部件信息。我们将使用 focus_get() 方法在程序执行期间查找活动小部件。

示例

在此示例中,我们创建了一个Entry小部件,在按下键时将获取焦点。 focus_get() 方法将返回当前活动窗口的小部件信息。

#导入 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()

输出

运行上述代码将显示一个窗口,其中包含一个按钮。当我们按下键时,它将打印包含当前焦点小部件信息的输出到窗格中。

如何检查 Tkinter 中的小部件是否具有焦点?

现在,当我们按下<Enter>键时,它将在 shell 中显示输出。

焦点在:<bound method Misc.focus_get of <tkinter.Entry object .!entry >>

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程