python - 如何在多进程中更新 Tkinter 小部件?
问题描述
我正在尝试使用进程更新框架,但我无法这样做。如果我不使用进程,则框架会使用子元素进行更新,但在使用多进程时不会。
这是我尝试过的(代码是类的一部分):
def zx(self, q):
print('asdadsas')
lbl = Label(self.myframe, text="assagj")
lbl.pack(ipady=2, padx=10, pady=5, anchor=NW)
try:
p = multiprocessing.Process(target=self.zx, args=('a', ))
p.daemon=True
p.start()
sleep(2)
p.terminate()
except KeyboardInterrupt:
p.terminate()
except:
p.terminate()
解决方案
Tkinter 小部件不能跨越进程。所有对 Tkinter 小部件的访问都必须来自同一进程。
这是因为小部件存在于嵌入式Tcl解释器中,并且 Tcl 解释器不能跨进程共享。
推荐阅读
- c# - 如何为 C# 中的现有列表创建包含?
- javascript - npm install react-router-dom 不工作(漏洞)
- javascript - JS比较两个多维数组并用dirrefences完成第二个
- python-2.7 - 错误:当 USE_TZ 为 False 时,MySQL 后端不支持时区感知日期时间
- bitbucket - 如何将 Hashicorp Vault 与位桶集成
- python - 使用 python Boto3 放入 AWS Dynamo
- python - Groupby 具有不同聚合的不同列与 cumsum 与另一个数据集
- javascript - 如何从视频中移动元素上的绘图工具获取输入?
- python - 如何在图像opencv python中找到角的数量
- javascript - 反应编辑表单不显示获取的数据