Die Suche ergab 9 Treffer

von wobaa666
2. Februar 2008 20:39
Forum: Qt Programmierung
Thema: [gelöst] QThread startet QThreads blockweise
Antworten: 16
Zugriffe: 7024

Hallo, ich habe das Problem gefunden, warum kein Signalaustausch zwischen den Threads stattfand. Es lag tatsächlich an dem connect, das die beiden Threads verbindet. Sobald ich explizit angebe, das beim Connect "Qt::DirectConnection" verwendet werden soll, funktioniert es. Mit dem Code unt...
von wobaa666
1. Februar 2008 22:46
Forum: Qt Programmierung
Thema: [gelöst] QThread startet QThreads blockweise
Antworten: 16
Zugriffe: 7024

Hallo noch einmal. ich habe jetzt mal ein minimal Projekt zusammen gestellt. Siehe Attachment.
Ich glaub ich habe irgendwo noch ein Denkfehler. Wäre nett, wenn jemand mal auf den Code schauen könnte. Ich bekomme einfach kein Signal im Worker Thread.

Viele Grüße, Jan
von wobaa666
1. Februar 2008 22:10
Forum: Qt Programmierung
Thema: [gelöst] QThread startet QThreads blockweise
Antworten: 16
Zugriffe: 7024

Ich habe ein sleep(10) in den CalcThread:run() eingebaut. Danach dann die Ausgabe. Hab mit'm Debugger geprüft, ob er auch vorher in das Exec() von Worker rein geht. Das passt. Nach ner ganzen Weile kommt dann halt die Ausgabe auf der Konsole, aber trotzdem kommt kein Signal. Kann das irgend etwas mi...
von wobaa666
1. Februar 2008 21:58
Forum: Qt Programmierung
Thema: [gelöst] QThread startet QThreads blockweise
Antworten: 16
Zugriffe: 7024

Ich glaub das wird ne lange Nacht ;)
Ist ja schon mal etwas, wenn es zumindest theoretisch funktionieren müsste.

Danke erst einmal!
von wobaa666
1. Februar 2008 21:50
Forum: Qt Programmierung
Thema: [gelöst] QThread startet QThreads blockweise
Antworten: 16
Zugriffe: 7024

Also mein CalcThread sieht in etwa so aus: class CalcThread : public QThread { public: void run(); }; void CalcThread::run() { qDebug() << "CalcThread::run()"; } Das "CalcThread::run()" wird auch ausgegeben Hab in dem Thread auch schon mit exec() rum gespielt, immer ohne Erfolg. ...
von wobaa666
1. Februar 2008 21:36
Forum: Qt Programmierung
Thema: [gelöst] QThread startet QThreads blockweise
Antworten: 16
Zugriffe: 7024

Da Du nicht in der Eventloop bist, kann der Thread auch kein Signal bekommen. In der Doku steht zu QThread::exec(): "It is necessary to call this function to start event handling. " Schön und gut, aber wo und wann? im letzten Code, den ich gepostet habe, ist das exec() drin, dennoch kommt...
von wobaa666
1. Februar 2008 21:22
Forum: Qt Programmierung
Thema: [gelöst] QThread startet QThreads blockweise
Antworten: 16
Zugriffe: 7024

Sobald du ::run() verlässt sind deine Threads weg. ja, das ist mir klar. durch meine Endlosschleife verlässt er ja nie das run. Ist ja aber auch kein Problem nen Thread als Membervariable zu deklarieren. Aus :run() möchte ich ja auch erst raus, wenn 100x der CalcThread aufgerufen wurde und diese fe...
von wobaa666
1. Februar 2008 20:23
Forum: Qt Programmierung
Thema: [gelöst] QThread startet QThreads blockweise
Antworten: 16
Zugriffe: 7024

Hier mal meine erste Herangehensweise: int numThreads = 0; int numCalc = 100; void Worker:run() { while(numThreads < 5 && numCalc > 0) { CalcThread* calc = new CalcThread(); connect(calc, SIGNAL(finished()), this, SLOT(OnCalcFinished()); calc->start(); numThreads++; numCalc--; } while(numThr...
von wobaa666
1. Februar 2008 19:38
Forum: Qt Programmierung
Thema: [gelöst] QThread startet QThreads blockweise
Antworten: 16
Zugriffe: 7024

[gelöst] QThread startet QThreads blockweise

Hallo, ich bin erst vor Kurzem von einem anderen Framework (wxWidgets) auf Qt umgestiegen. Unter Qt komme ich irgendwie mit komplexeren Thread Sachen nicht mehr klar. Ich versuche folgendes zu realisieren (unter wx hab ich eine Lösung, die sich leider nicht 1:1 umsetzen lässt). Folgendes: ich habe e...