2017-08-28 47 views
-5

我想顯示一條消息說「嗨」幾秒鐘後 ,我想,消息走開,打開不同的文件 https://hastebin.com/uhafehizok.vbs 所以如果真的,我希望它放置標籤,等待兩秒鐘,然後銷燬它,但Tkinter窗口正在等待兩秒鐘開始,然後開始沒有任何標籤 任何想法Tkinter的配售和刪除標籤

+6

請務必將您的代碼發佈在正文中,沒有理由不要。 – SneakyTurtle

+0

對不起,這是我的第一篇文章。 :) –

回答

1

在您的代碼中,放置標籤,並在2秒後它被破壞了。因爲它沒有更新,所以它實際上從未顯示在窗口中。 這是因爲當進入Tk的mainloop時,它更新循環中的窗口,檢查是否進行了更改。在你的情況下,你通過使用time.sleep來阻止這項檢查。

與Tkinter,當想要有時機,你應該總是使用after方法,安排Tkinter的主循環(這使用毫秒)方面的一切。

要修復您的代碼,您可以在放置標籤後添加root.update()。但是time.sleep仍然會在等待時凍結主循環,所以更好的解決方案是將呼叫轉移到睡眠狀態,並在2秒後在標籤上呼叫destroy

這看起來像root.after(2000, letsgolabel.destroy)

*請注意,我一直提到root用戶訪問tk.Tk(),因爲這是通常使用的。