我想修改下面的代碼來清除在寫入新文本之前的條目文本。基本上我想刪除文本,等待一秒鐘,然後寫入新的文本。這應該給出正在寫入的「新」文本的外觀。 任何想法? TIA - 布拉德清除Tkinter條目文本 - 新文本看起來新?
import thread, Queue, time, random, poster
from Tkinter import *
dataQueue = Queue.Queue()
def status(t):
try:
data = dataQueue.get(block=False)
except Queue.Empty:
pass
else:
t.delete(0, END)
time.sleep(1)
t.insert(0, '%s\n' % str(data))
t.after(2, lambda: status(t))
def makethread():
thread.start_new_thread(poster.poster, (1,dataQueue))
if __name__ == '__main__':
root = Tk()
root.geometry("240x45")
t = Entry(root)
t.pack(side=TOP, fill=X)
Button(root, text='Start Epoch Display',
command=makethread).pack(side=BOTTOM, fill=X)
status(t)
root.mainloop()
在叫海報
import random, time
def poster(id,que):
while True:
delay=random.uniform(5, 10)
time.sleep(delay)
que.put(' epoch=%f, delay=%f' % (time.time(), delay))
@antanakos - 首先,感謝您的答覆。我的代碼有缺陷,只有一個線程應該按下按鈕啓動。後續的壓力應該被禁止。基於此,隊列將只有一個數據源,並且可能不需要數據處理程序。你的代碼非常有幫助。我現在明白,如果我想清除文本,我只需要在隊列中放一個空洞的刺。我會試一試。謝謝 - 布拉德 – Verohomie
doh,在隊列中放置一個空字符串很好。我試圖改變直接插入一個空字符串;不通過隊列。再次感謝 - 布拉德 – Verohomie