创建wx.App的多个实例 - 可以吗?

时间:2016-12-15 01:08:16

标签: python multithreading python-2.7 wxpython

所以我需要实现以下场景: - 多个任务同时作为进程运行。 - 每个任务都应显示一个带有“取消”按钮的进度条,单击该按钮应该终止它。

为了实现响应式GUI,我在一个单独的线程中为每个进程运行任务,似乎我需要为每个进程创建一个单独的wx.App,否则线程似乎没有运行。但是这个设置工作正常:

a)我不确定多个wx.App是一个好主意还是

b)如果有更好的方法来实现我的目标。

下面的MWE(注意:在此示例代码中,我可以使用Update的{​​{1}}方法来确定是否已按下“取消”按钮,但不能对我的实际应用程序执行此操作)。

wx.ProgressDialog

1 个答案:

答案 0 :(得分:3)

不,在一个流程中拥有多个wx.App并不是一个好主意。即使在完成前一个之后创建一个新的有时也会有问题。

但是,由于您使用的是multiprocess,因此它并不完全相同。除非我遗漏了某些内容,否则每个操作系统进程在您的情况下只有一个wx.App,并且由于父进程没有创建wx.App,所以他们不会尝试继承那个({1}}可能会导致更多问题。)