【问题标题】:Share tkinter window object between python processes在 python 进程之间共享 tkinter 窗口对象
【发布时间】:2018-04-21 10:31:31
【问题描述】:

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

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

我尝试过 Multiprocessing.Queue 和 Multiprocessing.Manager 但由于以下错误而无法正常工作:

TypeError: can't pickle _tkinter.tkapp objects

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

【问题讨论】:

    标签: python tkinter python-multiprocessing multiprocessing-manager


    【解决方案1】:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-03-28
      • 2012-07-22
      • 2019-02-05
      • 1970-01-01
      • 2017-02-02
      • 1970-01-01
      • 2023-03-24
      • 2021-10-21
      相关资源
      最近更新 更多