This is a very interesting question (to which I don't know the answer), I'm curious how the coroutines will interact with the Qt events.
Sidenote: It's also possible to build Qt applications in Python using AsyncIO (using quamash), by integrating the Qt event loop as an AsyncIO event loop. This can be helpful to avoid race conditions, as much more interactions can be handled without thread concurrency.