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

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
  • 於黾 2021-12-17 17:10
    关注

    多线程访问UI需要使用委托
    多进程行不行不知道

    评论
查看更多回答(1条)

报告相同问题?

问题事件

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

悬赏问题

  • ¥15 设计程序,利用函数getCharacterCnt,实现求解出str所指字符串中指定字符的个数,并返回此值。
  • ¥15 设计程序,实现管理30个学生5门课程的成绩,功能模块要求如下。
  • ¥15 B660主板安装xp系统老是出现错误怎么办
  • ¥15 定义过的变量报错未定义
  • ¥15 如何在EXCEL某单元格中查找是否存在另一列中的内容。
  • ¥50 非对称加密(相关搜索:密码学)
  • ¥15 关于非编程寻迹小车的分析
  • ¥15 java导出EXCEL这里已经执行成功了,但是流浪器没有下载
  • ¥15 帮我把代码改的能正常运行就行
  • ¥50 有限元修正、模型修正、最小二乘法,详细步骤