Zuerst mein System:
Qt: 3.3.2 Embedded (ohne QextSerialPort)
System: Linux 2.6.9
Architektur: arm
Ich haben eine Konsolenanwendung mit einer Event-Loop
Code: Alles auswählen
..
return app.exec();
..
Code: Alles auswählen
..
Worker::run(){
//Initialisiert einige dinge
}
Worker::customEvent(QCustomEvent *event) {
// im Kontext von Aufgerufenen Thread
int type = event->type();
switch (type) {
case 1: {
Funktion1();
break;
}
}
}
..
Innerhalb des Thread bzw. durch starten der Funktionen mit einem Signal funktioniert leider auch nicht.
Starten des Threads
Code: Alles auswählen
...
Worker= new Worker(this);
Worker->start();
// In der Run Methode wird ein Mutex eingesetzt um zu verhindern das postEvent vor start ausgeführt wird
QApplication::postEvent(sensorWorker, new StartThreadEvent("",SensorWorker::WorkerStart));
...
Gruß Alex