tkinter y time.sleep

Estoy intentando eliminar el texto dentro de un cuadro de texto después de esperar 5 segundos, pero en lugar de eso, el progtwig no se ejecuta y duerme sobre todo lo demás. ¿También hay una manera de hacer que mi cuadro de texto se duerma para que pueda ejecutar otro código mientras el texto está congelado?

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() 

Realmente deberías usar algo como el método Tkinter after en lugar de time.sleep(...) .

Hay un ejemplo del uso del método after en esta otra pregunta de stackoverflow .

Aquí hay una versión modificada de su script que usa el método 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()