在PyQt5 中使用多进程

from multiprocessing import Process, Queue
from PyQt5 import ...

class communicate_Thread(QThread):

    communicate_singal = pyqtSignal(str)
    exit_signal = pyqtSignal()

    def __init__(self, q, parent=None,):
        QThread.__init__(self, parent)
        self.q = q

    def run(self):
        global running
        while(running):
            text = self.q.get(True)
            self.communicate_singal.emit(text)

        self.exit_signal.emit()

class App(QMainWindow):
    def __init__(self):
        .....
        self.q = Queue()
        self.xxx = communicateThread(self.q)
        self.xxx.communicate_singal.connect(self.do_something)
        self.xxx.start()
        
        self.yyy_process = Process(target=self.yyyprocess, args=(self.q,))
        self.yyy_process.start()
        
    def yyyprocess(self,q):
        do_something
        if condition:
            q.put(something)
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容