有没有办法在新流程中打开QTabBar上的新标签?

时间:2013-01-16 20:04:34

标签: qt python-2.7 pyqt4

我有一个QtGui.QTabBar对象,我在我的应用程序中使用。用户交互可以打开(或关闭)其他选项卡以运行各种python模块。我想让它们在自己的进程中运行,以确保更长的运行/ CPU密集型模块不会阻塞简单的模块。

标签之间不需要互动。唯一需要的是父(现有)应用程序知道何时关闭选项卡并确保子进程正确终止的方法。我打算使用Pythons multiprocessing模块来处理这个问题。

有没有办法在QTabBar打开一个单独的流程中制作新标签?如果是这样,怎么样?我已经谷歌为'qtabbar separate processes'和类似的,但我没有找到任何方式告诉我这种或那种方式,如果这是可能的。

我正在使用Python 2.7.3,PyQt和Qt 4.9

1 个答案:

答案 0 :(得分:0)

您无法在新流程中运行标签。任何选项卡都只是一个小部件,所有GUI都在主应用程序线程中运行。 但您可以将GUI与应用程序的业务逻辑分开。 对于单个选项卡,您可以拥有一个小部件本身和一个可以在另一个线程中运行并处理繁重计算的控制器。然后,您可以使用信号/插槽机制连接选项卡及其控制器。