我有一个主循环,希望在tkinter显示中监视我的过程中更改的值。
我考虑过这样的事情:
from Tkinter import *
import thread
import time
class monitor(Frame):
def __init__(self):
self.root=Tk()
Frame.__init__(self, self.root)
self.pack()
self.t = StringVar()
Label(self.root, textvariable=self.t).pack()
def start(self):
#self.mainloop()
thread.start_new_thread(self.mainloop,(None,))
def write(self,txt):
self.t.set(txt)
#Monitoring
m=monitor()
m.start()
#Main process
for i in range(10):
m.write("Value is "+str(i))
time.sleep(1)
但是我不能从线程外部设置tkinter对象我启动了mainloop。 (由...开始的线程中未处理的异常)
我该如何以最简单的方式解决这个问题?
答案 0 :(得分:0)
您无法在创建窗口小部件的其他线程中运行mainloop
。相反,将“主进程”移动到一个线程中。