将wxPython对象作为多处理器参数传递
问题描述:
我目前正在使用wxpython在使用gui编写python程序。该程序具有评估多个python的功能,因此会挂起gui。我正在尝试为此功能使用单独的进程。问题在于函数需要ui中的一些东西;一个listctrl和一个textctrl,来更新关于已经运行的脚本的信息。正由工艺运行的方法将wxPython对象作为多处理器参数传递
def CreateProcess():
q = Queue()
q.put(gui.caselist)
q.put(gui.textlog)
p = Process(target=runScripts, args=(q,))
p.start()
部分:尝试wxPython的对象传递给过程,创建和启动过程
PicklingError: Can't pickle <type 'PySwigObject'>: attribute lookup __builtin__.PySwigObject failed
方法时收到以下错误
def runScripts(q):
caselist = q.get()
text = q.get()
阅读[LongRunningTasks维基页面(http://wiki.wxpython.org/LongRunningTasks)关于如何做到这一点的解释和完整的示例代码。 – unutbu 2011-08-17 13:01:01