W swojej aplikacji muszę pewną czasochłonną operacje wrzucić do nowego wątku, czytajac dokumentacje i kilka stron na temat używania QThread trafiłem na 4programmers... http://4programmers.net/Forum/C_i_C++/210633-qt_creator_-_watki
MarekR22 bardzo fajnie wytłumaczył jak to powinno wyglądać ale mimo tego mam problem oto mój kod
// moja klasa która wykonuje ową czasochłonną operacje, jej wskaźnik mam w MainWindow
utility = new Utility();
thread = new QThread( this );
utility->moveToThread( thread );
thread->start();
// tutaj zlecam wykonanie tej operacji w nowym wątku
connect( this, SIGNAL(sendtext(QString)), utility, SLOT( findFiles( QString ) ),
Qt::QueuedConnection );
// tutaj dbam o usunięcie wątku gdy przestanie być potrzebny czyli wraz ze śmiercią
//obiektu utility bo ten wątek jest tylko i wyłącznie do obsługi tej klasy
connect( utility, SIGNAL(destroyed(QObject*)), thread, SLOT(quit()) );
connect( utility, SIGNAL(destroyed(QObject*)), thread, SLOT(deleteLater()) );
i to co dostaje po wyjściu z programu
QThread: Destroyed while thread is still running
QMutex: destroying locked mutex