У меня есть приложение pyside, которое вызывает исполняемый файл. Я хочу запустить этот исполняемый файл асинхронно в n процессах и зафиксировать вывод каждого процесса в QTextEdit.
На данный момент у меня есть:
def run(self, args, worklist):
self.viewer = OutputDialog(self)
self.procs = []
for path in worklist:
final_args = args + path
p = QtCore.QProcess(self)
p.readyReadStandardOutput.connect(self.write_process_output)
self.procs.append(p)
p.start(self.exe, final_args)
def write_process_output(self):
for p in self.procs:
self.viewer.text_edit.append(p.readAllStandardOutput())
Это слишком неуклюже, поскольку каждый раз, когда процесс отправляет сигнал «готово», он пытается получить результат для ВСЕХ процессов.
Как я могу получить результат только для процесса, отправившего сигнал?