1. Can I use a Qthread.exec() to run the guis instead of QApplication?
No, the UI has to live in the QApplication UI main thread (the usual case, as I said, you could implement your own QApplication but do you really want/need to?)
You could have your thread instruct creation of UI's in the main thread however.

2. Can I use a common thread to create the windows and qapplication for all the classes?
You already have that - the main UI thread.

3. Can I make my own processevents() loop?
4. Can I use QEventLoop?
Yes, by using QEventLoop.

Are there any examples of doing this out there?
I don't know (maybe someone else here does).
I would look in QDialog for example, (there are some other classes which have their own event loop as well) and try to get the right way of using it from there.
A short google search provided this which I think might be interesting as well:
https://www.qtdeveloperdays.com/2013...Event_Loop.pdf