It worked for now. Try running two such loops at the same time. Using QEventLoop is much better, especially that it's much easier to timeout such call and resources are used wisely.
I'm more against the "it's much easier than using QEventLoop" statement than about agreeing or not about some solution being proper (or not).
Bookmarks