我有一個腳本,使用Tkinter彈出一個消息窗口。我如何確保它需要關注,以便用戶不會錯過它,並明確地必須關閉窗口。代碼是:使Tkinter小部件成爲焦點
root = Tk()
to_read = "Stuff"
w = Label(root, text=to_read)
w.pack()
root.mainloop()
我有一個腳本,使用Tkinter彈出一個消息窗口。我如何確保它需要關注,以便用戶不會錯過它,並明確地必須關閉窗口。代碼是:使Tkinter小部件成爲焦點
root = Tk()
to_read = "Stuff"
w = Label(root, text=to_read)
w.pack()
root.mainloop()
您可以使用focus_force
方法。請參閱以下內容:
但需要注意的文檔:
w.focus_force()
強制輸入焦點的部件。這是不禮貌的。最好等待窗口經理給你關注。另請參閱下面的.grab_set_global()。
更新:它應該在root
上工作。例如,嘗試運行以下代碼。它會創建一個窗口,您可以切換焦點。 5秒後,它會嘗試抓住焦點。
from Tkinter import *
root = Tk()
root.after(5000, lambda: root.focus_force())
root.mainloop()
的命令就可以了,但如果它在我的代碼去?看來我的格式將是root.focus_force,但它會給出一個Attribute錯誤。 – Ali 2010-10-01 20:11:39
@Ali:我更新了問題以回答您的評論。 – ars 2010-10-01 20:19:15
它現在似乎在工作。但是我忽略了.after函數。謝謝。 – Ali 2010-10-01 20:37:42