The QT events are processed in the QEventDispatcher which is started with the QCoreApplication::exec() and ended with QCoreApplication::quit().
You cannot have two event loops, because the whole purpose is to avoid concurrency issues e.g. when manipulating windows etc. I understand you don’t manage windows from juce, but that’s what it is.