在PyQt中使用QProcess运行类方法

问题描述

我正在尝试使用QProcess在单独的进程中运行类方法。我知道以下代码将不起作用,但是我想知道是否有一个通过QProcess而不是使用multiprocessing.process(target=function_name)

来启动新流程的调整吗?
import multiprocessing
from PyQt5 import QtCore

class myClass:
    def __init__(self):
        self.x = 20

    def loop(self,):
        for i in range(1,1000):
            self.x = i

M = MyClass()

# p = multiprocessing.process(target=MyClass.loop) # Is QProcess capable of doing this?
p = QtCore.QProcess(myClass.loop) # I kNow this won't work but I am looking for a way to use QProcess for ths purpose
p.start()

解决方法

我建议您打开一个QThread并将所有变量放入线程类中,在该线程类中执行QProcess,这是我的项目中的一个示例: https://www.github.com/min20120907/Cell_RCNN_Qt/tree/master/Cell_Trainer.py