我无法在自定义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()