Python multiprocessing.Process()在Qt类中不起作用

时间:2016-08-17 15:04:32

标签: linux qt python-3.x pyqt4 python-multiprocessing

我无法在自定义Qt Gui类中启动multiprocessing.Process()实例。您可以从项目here中检查整个文件(和其他文件)。

但是,当我在类之外创建它时,在主文件中,它可以工作。 我不知道为什么它对这两种方式的表现不同。 (我不知道它是否相关,但是我在BeagleboneBlack上运行这个程序,通过“ssh -X”,它显示了我计算机上的GUI窗口。(我必须这样做,因为程序的一个库只能在Beaglebone中运行,因为它的GPIO交互库)。

类中的代码(在 init ()方法中)(这不起作用,GUI不会显示):

class MainWindow2(QMainWindow, Ui_MainWindow):
    def __init__(self):
        super(MainWindow2, self).__init__()

        self.setupUi(self)

        self.parent, self.child = multiprocessing.Pipe()
        self.listener1=Listener(self.child)
        self.listening_proc=multiprocessing.Process(target=listener1)
        self.listening_proc.start()

课外(这是有效的):

parent, child = multiprocessing.Pipe()
listener1=Listener(child)
listening_proc=multiprocessing.Process(target=listener1)
listening_proc.start()

0 个答案:

没有答案