为啥我的主循环在 tkinter 中不起作用?
Posted
技术标签:
【中文标题】为啥我的主循环在 tkinter 中不起作用?【英文标题】:Why is my mainloop not working in tkinter?为什么我的主循环在 tkinter 中不起作用? 【发布时间】:2020-12-24 20:33:29 【问题描述】:我下面有一个python3代码:
import multiprocessing as pr
from multiprocessing.managers import BaseManager
import tkinter as tk
def func(root):
root.mainloop()
BaseManager.register('Tk', tk.Tk)
manager = BaseManager()
manager.start()
inst = manager.Tk()
# print('dd',inst)
process = pr.Process(target=func,args=[inst])
process.start()
process.join()
在上面的代码中,我创建了一个共享的 Tk 对象,并从另一个进程调用了它的 mainloop 方法。但它不起作用。
它应该创建一个窗口。怎么回事?
我需要帮助!!!
【问题讨论】:
***.com/questions/63414254/… 【参考方案1】:您不能在进程之间共享 tkinter 对象。 Tkinter 是嵌入式 tcl/tk 解释器的包装器,嵌入式 tcl/tk 解释器不能跨越多个线程或进程。
【讨论】:
以上是关于为啥我的主循环在 tkinter 中不起作用?的主要内容,如果未能解决你的问题,请参考以下文章
为啥我的 while 循环中的条件在 python 中不起作用?
为啥 MPI_SEND 在我的 for 循环中不起作用?如果明确说明它工作正常