вот рабочий вариант.
качает все ссылки.

но разумеется вариант этот не следует рассматривать как верный.

надеюсь поймете почему.
я просто сделал из вашего варианта работающий пример, т.е. исправил ошибку "почему качало тока один файл". будут вопросы объясню почему.
вкратце: вся суть в exec(); потока, ну и moveToThread тоже.
на самом деле надо все делать немного не так.