Python time.sleep

我试图在等待5秒后删除文本框内的文本,而不是程序不会运行,并确实睡眠一切。 也有一种方法让我只是让我的文本框睡觉,所以我可以运行其他代码,而文本被冻结?

from time import time, sleep from Tkinter import * def empty_textbox(): textbox.insert(END, 'This is a test') sleep(5) textbox.delete("1.0", END) root = Tk() frame = Frame(root, width=300, height=100) textbox = Text(frame) frame.pack_propagate(0) frame.pack() textbox.pack() empty_textbox() root.mainloop() 

你真的应该使用像Tkinter之类的方法,而不是time.sleep(...)

有一个使用after方法在这个其他stackoverflow问题的例子。

以下是使用after方法的脚本的修改版本:

 from time import time, sleep from Tkinter import * def empty_textbox(): textbox.delete("1.0", END) root = Tk() frame = Frame(root, width=300, height=100) textbox = Text(frame) frame.pack_propagate(0) frame.pack() textbox.pack() textbox.insert(END, 'This is a test') textbox.after(5000, empty_textbox) root.mainloop()