【发布时间】:2013-04-17 15:52:13
【问题描述】:
我遇到了以下问题:
我编写了一个脚本,该脚本最多同时运行四个进程。通过命令行使用它时就像一个魅力。 然后我决定用 wxPython 编写一个 GUI,我很快就发现 GUI 和脚本需要在不同的进程中运行,以便在另一个在做某事的同时保持可用。 (即能够在脚本运行时按下停止按钮)这也很完美。
现在的问题: 我只是在脚本运行时无法与 GUI 通信,或者至少我不知道如何通信。我试图通过将“self”(gui)传递给脚本来在文本窗口中写入输出,并且在脚本中我尝试执行诸如“self.outputWindow.WriteText('脚本正在执行 bla 1 of bla 10 ')"
我什至弄明白了为什么这不起作用:self(gui 对象)不可选择,这对于多处理是必需的,但我不知道我应该怎么做。
【问题讨论】:
-
创建一个套接字服务器 :) 我认为 wx.CallAfter 对线程处理也很有帮助 :)
-
wx.CallAfter 是一个不错的功能,但它仍然需要“self”才能对 GUI 做一些事情。而且它无法访问它,因为我将使用它的地方是在脚本中,该脚本在与 GUI 不同的进程中运行。我不知道什么是套接字服务器,但我会读一读。
-
你看过这个blog.pythonlibrary.org/2010/05/22/wxpython-and-threads ...mousevspython 非常适合 wxStuff :)
标签: python multithreading user-interface wxpython multiprocessing