在 python 个进程之间共享 tkinter window 对象

Share tkinter window object between python processes

以下是我正在处理的场景:

有一个使用 Multiprocessing.Process 启动工作进程的主进程。工作进程创建 tkinter window 用于渲染。 如果我想终止渲染,我只需执行 process.terminate()。 虽然这在编程上有效,但我在屏幕上看到了一些伪影,因为 window 破坏没有正确完成。 我的计划是与主进程共享 tkinter 对象,从而使其能够退出然后销毁 window.

我试过了,Multiprocessing.Queue,Multiprocessing.Manager,但是 none 工作因为以下错误:

TypeError: can't pickle _tkinter.tkapp objects

我认为我的假设是错误的。 什么是适当的 python 编程技术来实现这一点?

您不能在进程之间共享 tkinter 对象。 Tkinter 小部件依赖于嵌入式 tcl 解释器,并且该嵌入式解释器不能在线程或进程之间共享。