так, в моём новом проекте мне нужно иметь дело с копированием сотен больших файлов за раз - короче набивать папку музыкой, если это делать в основном потоке, то программа зависает до того момента, как файлы не скопируются...вывод: искать решение!
  Итак основным решением в Qt с самого начала был класс 
Qthread его реальное применение в боевом проекте можно глянуть 
тут  Задача сводится к простому - Подготовить класс и пульнуть его во отдельный поток. Пуляем его так: 
 1. Создаём экземпляр нашего класса  
Код CPP-QT:ThreadFileCopy* tCopy = new ThreadFileCopy();
    tCopy->setFileList(files.toList());
  тут мне надо было передать список файлов из QML поэтому ещё и добавил отправку списка файлов который приходит в QList 
 2. Создаём сам thread  
 3. Соединяем сигналы слоты:  
Код CPP-QT:connect(thread, SIGNAL(started()), tCopy, SLOT(proccess()));
  То есть при запуске ветки у нас выполнится функция proccess в неё, что само сабой разумеющиеся надо и пихать весь функционал. 
 4. ну и запускаем всё это дело:  
Код CPP-QT:    tCopy->moveToThread(thread);
    thread->start();
  Особо хочу подчеркнуть что это только начало и ветку надо бы уметь останавливать и прочее и тому подобное, но для того, чтобы понять с чем едят я удмаю хватит.