我试图将tkinter帧作为单独的进程运行,但是当我使用一个相对基本的脚本运行时,该进程要么在没有启动任何窗口的情况下完成,要么崩溃。在
from tkinter import *
from multiprocessing import Process
titles = ['first', 'second', 'third', 'fourth']
class Demo(Frame):
def __init__(self, parent=None, fname="", **options):
Frame.__init__(self, master=parent, **options)
self.pack()
Label(self, text=fname).pack(side=TOP)
Button(self, text="Quit!", command=self.quit).pack(side=TOP, fill=BOTH)
def runDemo(name):
Demo(fname=name).mainloop() #call and run class instance...
if __name__=="__main__":
for name in titles:
#runDemo(name)
Process(target=runDemo, args=(name,)).start() #spawn process...
如果我取消对“runDemo(name)”行的注释并注释掉进程调用,这至少会运行;但是,这会使窗口实例在同一进程中按顺序生成,而不是按需要在单独的进程中生成。在
据我所知,此代码中的所有内容都应该按预期运行单独的进程。在
这是在OSX10.10.4上使用Python3.4.3。我主要是在PyCharm社区版4.5中开发的,但是在PyCharm中运行或直接从命令行运行时会发生这种情况。有什么线索吗?在
已更新以添加崩溃日志:
^{pr2}$
目前没有回答
相关问题 更多 >
编程相关推荐