Seite 1 von 1

[gelöst] QRunnable mit Signals

Verfasst: 24. November 2009 16:29
von AuE
Hi,

kann man eigentlich mit ner Runnable Signale aussenden oder geht das nur wenn ich den umweg via Thread nehmen würde?

Dank u Gruß

Verfasst: 25. November 2009 09:54
von AuE
Das Problem ist folgendes:

Ich habe meine Klasse von QRunnable erben lassen, weil ich eine funktion als Thread ausführen möchte.
Ich habe folgenden connect:

Code: Alles auswählen

qDebug() << "connecting returned" << connect(this, SIGNAL(sig_RunnableExtractPath(QString)), this, SLOT(getExtractedPath(QString)),Qt::QueuedConnection);
Der gibt auch true zurück.

Danach starte ich den Thread via

Code: Alles auswählen

QThreadPool::globalInstance()->start(this);
In der Run:

Code: Alles auswählen

Extractor *extractor = new Extractor( m_strFilePath.toStdString() )	;
	extractor->initialize();
	emit ( QString(extractor->getExtractePath().c_str()) );
	qDebug() << 	extractor->getExtractePath().c_str();
	delete extractor;
Allerdings laufe ich nie in den SLOT....

Kann mir einer sagen wieso?

EDIT:

Mein Fehler ... man sollte beim emit schon die funktion angeben ;-)
emit sig_RunnableExtractPath( QString(extractor->getExtractePath().c_str()) );

Verfasst: 25. November 2009 11:29
von RavenIV
AuE hat geschrieben: EDIT:

Mein Fehler ... man sollte beim emit schon die funktion angeben ;-)
emit sig_RunnableExtractPath( QString(extractor->getExtractePath().c_str()) );
Somit ist das Problem also gelöst?
Dann vermerke es bitte auch im Titel.