我正在尝试使用PyQt5为我的一些Python脚本创建一个GUI。
我有兴趣在单独的进程(而不是线程)上运行一系列任务。我一直在使用并发期货ProcessPoolExecutor来执行作业。我尝试使用concurrent.futures.as_completed()中的迭代器更新我的QProgressBar中的值。
def join(self):
for fut in concurrent.futures.as_completed(self._tasks):
try:
self.results.put(fut.result())
self.dialogBox.setValue(self.results.qsize())
except concurrent.futures.CancelledError:
break
然而,似乎我的方法似乎阻止了gui,即使工作正在另一个进程上运行。
有可能吗?