【发布时间】:2019-07-22 11:16:07
【问题描述】:
我正在使用 Tkinter 创建一个应用程序。我有两个线程,第一个是查找结果的算法,第二个是我的 Tkinter 窗口,它显示找到的结果数。
import time
from tkinter import *
from threading import Thread
global results
results = []
class thread(Thread):
def __init__(self, name):
Thread.__init__(self)
self.name = name
def run(self):
global results
if self.name == "algo":
algo()
elif self.name == "window":
window = Tk()
tmp = StringVar()
tmp.set(str(len(results)))
text = Label(window, textvariable=tmp, font=(None, 12))
text.place(x=10, y=15)
window.mainloop()
def algo():
global results
while True:
time.sleep(1)
results += [1]
print(len(results))
thread_1 = thread("algo")
thread_2 = thread("window")
thread_1.start()
thread_2.start()
thread_1.join()
thread_2.join()
问题是文本变量没有更新。
【问题讨论】:
标签: python-3.x multithreading tkinter