好的,我有一些多进程代码,我尝试在我的程序中监视某个数组的值。我做了一些研究,但还没有找到任何解决办法,这里是我的代码从SharedCtypes数组中设置Tkinter标签文本
from tkinter import *
from tkinter.ttk import *
import multiprocessing as mp
from multiprocessing.sharedctypes import Array
import time
class Form:
def __init__(self, timer):
window = Tk()
window.wm_title('Multiprocess Monitor')
tvar = StringVar()
tvar.set(timer)
ArrayStat = Label(window, textvariable = tvar)
window.loop()
def Countdown(timer):
while True:
for i,v in enumerate(timer):
timer[i] = v-1
time.sleep(1)
if __name__ == '__main__':
timer = Array('i',[-1,-1,-1,-1])
Ptimer = mp.Process(target = Countdown, args=(timer,))
Ptimer.daemon = True
Ptimer.start()
app = Form(timer)
Ptimer.join()
打印sharedctypes阵列正常的方式打印(定时器[:])。但是如果在tvar => tvar.set(timer [:])中使用这种方式,我的GUI不会更新标签中的文本。如果我使用tvar.set(定时器),标签将显示< & SychronizedArray bla bla bla .....>是否有任何可能的解决方案?张贴甚至不运行,未声明的变量等,还没有装/网格 感谢
帮助........... –