Объясните пожалуйста - не могу понять.
Как запустить event loop в потоке, если мы не наследуемся от qthread, А просто используем movetothread? Exec же сам не вызывается в start(). Или я попутал?  

Он по умолчанию запускается в run,  поэтому если не наследовались и не переопределяли run, он запуститься при старте нитки.