我有一个脚本,它使用Tkinter弹出一个带有消息的窗口。我如何确保它获得焦点,以便用户不会错过它,并明确地必须关闭窗口。代码是:
root = Tk()
to_read = "Stuff"
w = Label(root, text=to_read)
w.pack()
root.mainloop()
答案 0 :(得分:16)
您可以使用focus_force
方法。请参阅以下内容:
但请注意文档:
w.focus_force()
强制输入焦点到窗口小部件。这是不礼貌的。最好等待窗口管理器为您提供焦点。另见下面的.grab_set_global()。
更新:它应该适用于root
。例如,尝试运行以下代码。它将创建一个窗口,您可以切换焦点。 5秒后,它将尝试抓住焦点。
from Tkinter import *
root = Tk()
root.after(5000, lambda: root.focus_force())
root.mainloop()
答案 1 :(得分:2)