我试图在进程池中访问UI组件进行修改,像下面这样,ui是创建的对象。报错信息在下面。进程池中可以访问UI组件吗?
func = partial(self.to_main, ui)
with ProcessPool(processes= 8) as pool:
res = pool.map(func, path_list)
File "E:\PycharmProjects\test.py", line 30, in tomain
res = pool.map(func, DB_path_list)
File "D:\Program Files (x86)\Python\Python37\lib\multiprocessing\pool.py", line 268, in map
return self._map_async(func, iterable, mapstar, chunksize).get()
File "D:\Program Files (x86)\Python\Python37\lib\multiprocessing\pool.py", line 657, in get
raise self._value
File "D:\Program Files (x86)\Python\Python37\lib\multiprocessing\pool.py", line 431, in _handle_tasks
put(task)
File "D:\Program Files (x86)\Python\Python37\lib\multiprocessing\connection.py", line 206, in send
self._send_bytes(_ForkingPickler.dumps(obj))
File "D:\Program Files (x86)\Python\Python37\lib\multiprocessing\reduction.py", line 51, in dumps
cls(buf, protocol).dump(obj)
TypeError: can't pickle mywindow objects
Backend TkAgg is interactive backend. Turning interactive mode on.