vip莉 2021-12-17 17:07 采纳率: 62.5%
浏览 22
已结题

python多进程里面可以访问UI组件吗?

我试图在进程池中访问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.
  • 写回答

2条回答 默认 最新

  • 藏猊 2021-12-17 17:31
    关注

    可以设置信号传参,但不能修改ui

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 12月26日
  • 已采纳回答 12月18日
  • 创建了问题 12月17日