stehe erade vor dem Problem:
Ich starte in einer runnable das entpacken einer File....und will mich via QFileSystemWatcher an das Verzeichnis hängen um zu wissen wann sich das File geändert hat...
Code: Alles auswählen
id LogReader::run()
{
// NOTE: This is the "QRunnable" part..... will run as thread in the threadpool
Extractor *extractor = new Extractor( m_strFilePath.toStdString() ) ;
extractor->initialize();
qDebug() <<"EMITTING SIGNAL FOR INFLATE PATH "
emit sig_RunnableExtractPath( QString(extractor->getExtractePath().c_str()) );
qApp->processEvents();
qDebug()<<"STARTING INFLATE";
extractor->decompress();
emit sig_FileSize(QFileInfo(extractor->getExtractePath().c_str()).size());
delete extractor;
}Code: Alles auswählen
connect(this, SIGNAL(sig_RunnableExtractPath(QString)), this, SLOT(getExtractedPath(QString)),Qt::QueuedConnection);Ich dachte eigentlich das ich via qApp->processEvents die Eventloop abarbeiten würde und somit das abarbeiten des Signals triggern könnte.... Allerdings hilft processEvents ja nur für den CallerThread => Kann ich das denn irgendwie auf den Creatorthread (also den MainGUI thread) umbiegen?
Ausgabe:
connecting returned true
before starting the thread
EMITTING SIGNAL FOR INFLATE PATH
STARTING INFLATE
Decompress successfull
after starting the thread
RECIEVED SIGNAL FROM THE RUNNABLE