Почему asyncio фризит pyqt5?
События графического интерфейса обрабатываются бесконечным циклом, который запускается, когда вы вызываете app.exec() Его нельзя останавливать, иначе приложение зависнет. Но eventloop - это тоже бесконечный цикл, который запускается, когда вы вызываете asyncio.run(). В результате цикл событий asyncio останавливает цикл событий Qt. Выхода может быть два: либо с помощью Quamash использовать один цикл и для asyncio и для Qt, либо запускать цикл asyncio в отдельном потоке (лучше QThread).
Рискну предположить, что происходит это из-за того, что asyncio.run() запускается не в отдельном потоке и перехватывает интерпретатор, пока asyncio event loop не завершит свою работу (спойлер: он не завершит).
Возможно, вот этот тред поможет решить проблему:
https://stackoverflow.com/questions/26270681/can-a...