我正在尝试显示一条消息“嗨” 几秒钟后,我希望该消息消失并打开另一个文件 https://hastebin.com/uhafehizok.vbs 所以如果它真的我要它放置标签,等待两秒,然后销毁它,但Tkinter窗口等待两秒钟开始,然后开始没有任何标签 任何想法
答案 0 :(得分:1)
在你的代码中放置标签,2秒后它就会被销毁。它实际上从未在您的窗口中显示,因为它没有更新。
这与进入Tk的mainloop
时一样,它在循环中更新窗口,检查是否已进行更改。在您的情况下,您使用time.sleep
阻止了此检查。
使用Tkinter时,如果想要定时,则应始终使用after
方法,根据Tkinter的主循环(使用毫秒)排列所有内容。
要修复代码,您可以在放置标签后添加root.update()
。然而,time.sleep
在等待时仍然会冻结主循环,因此更好的解决方案是取消睡眠呼叫,然后在2秒后拨打标签destroy
。
这看起来像root.after(2000, letsgolabel.destroy)
。
*请注意,我一直将root视为您tk.Tk()
的访问权限,因为这通常会被使用。