PyQt/网络/窗口配合异步Http/README.md
2018-10-28 00:24:47 +08:00

1 KiB
Raw Blame History

asyncio结合PyQt例子

[Python3.5][PyQt5]

依赖库:
quamash对QT事件循环的封装替换https://github.com/harvimt/quamash
asynciohttps://docs.python.org/3/library/asyncio.html
aiohttphttps://aiohttp.readthedocs.io/en/stable/

1、在创建QApplication后随即设置替换事件循环loop

app = QApplication(sys.argv)
loop = QEventLoop(app)
asyncio.set_event_loop(loop)
w = Window()

2、通过asyncio.ensure_future(函数(), loop=loop)来执行某个异步函数

Window  →→  initSession初始化session
 ↓
 ↓
下载按钮  →→  doDownload执行_doDownload方法
           ↓
           ↓
          session.get下载json数据进行解析
           ↓
           ↓
添加到界面  ←←  _doDownloadImage对单张图片进行下载

截图

截图1