Tkinter放置和删除标签

时间:2017-08-28 14:51:00

标签: python tkinter

我正在尝试显示一条消息“嗨” 几秒钟后,我希望该消息消失并打开另一个文件 https://hastebin.com/uhafehizok.vbs 所以如果它真的我要它放置标签,等待两秒,然后销毁它,但Tkinter窗口等待两秒钟开始,然后开始没有任何标签 任何想法

1 个答案:

答案 0 :(得分:1)

在你的代码中放置标签,2秒后它就会被销毁。它实际上从未在您的窗口中显示,因为它没有更新。 这与进入Tk的mainloop时一样,它在循环中更新窗口,检查是否已进行更改。在您的情况下,您使用time.sleep阻止了此检查。

使用Tkinter时,如果想要定时,则应始终使用after方法,根据Tkinter的主循环(使用毫秒)排列所有内容。

要修复代码,您可以在放置标签后添加root.update()。然而,time.sleep在等待时仍然会冻结主循环,因此更好的解决方案是取消睡眠呼叫,然后在2秒后拨打标签destroy

这看起来像root.after(2000, letsgolabel.destroy)

*请注意,我一直将root视为您tk.Tk()的访问权限,因为这通常会被使用。