1

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

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

我试过了, Multiprocessing.Queue , Multiprocessing.Manager 但由于以下错误,都没有工作:

TypeError: can't pickle _tkinter.tkapp objects

我认为我的假设是错误的。实现此目的的适当 python 编程技术是什么?

4

1 回答 1

2

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

于 2018-04-21T12:45:12.727 回答