我試圖在等待5秒鐘后刪除文本框內的文本,但是該程序無法運行,并且不會占用其他所有內容。還有一種方法可以讓我的文本框進入睡眠狀態,以便在凍結文本時可以運行其他代碼?from time import time, sleepfrom 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()
1 回答

烙印99
TA貢獻1829條經驗 獲得超13個贊
您確實應該使用Tkinter after方法而不是time.sleep(...)。
在另一個stackoverflow問題中有一個使用after方法的示例。
這是使用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()
添加回答
舉報
0/150
提交
取消