用 asyncio.Task 跑协程任务,我觉得最大的好处是可以随时中断任务:
def __init__(self):
self.task = self.start_task()
self.cancel_button.clicked.connect(self.cancel_task)
@qtinter.asyncslot
async def start_task(self):
await requests.get("https://example.com/large_file.7z")
def cancel_task(self):
self.task.throw(asyncio.CancelledError())
以前用线程的时候哪有这么方便。
注:以上是伪代码。
【 在 fanci 的大作中提到: 】
: 可以在 asyncio 里调用 Qt ,以及在 Qt 里调用 asyncio.
:
https://qtinter.readthedocs.io: 请各位专家多提宝贵意见!
: ...................
--
修改:hgoldfish FROM 120.33.9.*
FROM 120.33.9.*