Hallo (Josef),
könnte mir jemand am Mi eine kleine Unterweisung geben, wie man unter Qt (4.5) threads anlegt, die unabhängig von der GUI (main event loop) sind ?
Bernhard
On Sonntag 05 April 2009 19:50:29 Bernhard Schiffner wrote:
Hallo (Josef),
könnte mir jemand am Mi eine kleine Unterweisung geben, wie man unter Qt (4.5) threads anlegt, die unabhängig von der GUI (main event loop) sind ?
Bin zwar nicht Josef, aber ich glaube, dass QThread genau das sein sollte, was du suchst: http://doc.trolltech.com/latest/qthread.html
Das Ding musst du ableiten, um QThread::run zu reimplementieren, was die main- Funktion des Threads ist. Wenn du möchtest, kannst du in dem Thread eine abgetrennte Event-Loop starten (per QThread::exec), aber das musst du nicht, wenn du nicht möchtest.
Gruß Stefan
On Sunday 05 April 2009 20:26:01 Stefan Majewsky wrote:
On Sonntag 05 April 2009 19:50:29 Bernhard Schiffner wrote:
Hallo (Josef),
könnte mir jemand am Mi eine kleine Unterweisung geben, wie man unter Qt (4.5) threads anlegt, die unabhängig von der GUI (main event loop) sind ?
Bin zwar nicht Josef, aber ich glaube, dass QThread genau das sein sollte, was du suchst: http://doc.trolltech.com/latest/qthread.html
Das Ding musst du ableiten, um QThread::run zu reimplementieren, was die main- Funktion des Threads ist. Wenn du möchtest, kannst du in dem Thread eine abgetrennte Event-Loop starten (per QThread::exec), aber das musst du nicht, wenn du nicht möchtest.
Gruß Stefan
Hatte ich gelesen aber nicht verstanden. (Irgendwie hatte ich QThread::exec mit QApplication.exec gleichgesetzt. Und dort hängt ja X drin...)
Danke!
Ein Beispiel (vermutlich wie man's nicht machen soll) bringe ich Mi mit.
Bernhard
On Sonntag 05 April 2009 21:01:37 Bernhard Schiffner wrote:
Hatte ich gelesen aber nicht verstanden. (Irgendwie hatte ich QThread::exec mit QApplication.exec gleichgesetzt. Und dort hängt ja X drin...)
Im Prinzip ist QThread::exec dasselbe wie QCoreApplication::exec. QApplication::exec fügt die Anbindung an den X-Server hinzu.
Gruß Stefan
N'Abend zusammen,
Le Sonntag, 5. April 2009, à 21:01, Bernhard Schiffner a écrit:
On Sunday 05 April 2009 20:26:01 Stefan Majewsky wrote:
On Sonntag 05 April 2009 19:50:29 Bernhard Schiffner wrote:
Hallo (Josef),
könnte mir jemand am Mi eine kleine Unterweisung geben, wie man unter Qt (4.5) threads anlegt, die unabhängig von der GUI (main event loop) sind ?
Bin zwar nicht Josef, aber ich glaube, dass QThread genau das sein sollte, was du suchst: http://doc.trolltech.com/latest/qthread.html
Das Ding musst du ableiten, um QThread::run zu reimplementieren, was die main- Funktion des Threads ist. Wenn du möchtest, kannst du in dem Thread eine abgetrennte Event-Loop starten (per QThread::exec), aber das musst du nicht, wenn du nicht möchtest.
Gruß Stefan
Hatte ich gelesen aber nicht verstanden. (Irgendwie hatte ich QThread::exec mit QApplication.exec gleichgesetzt. Und dort hängt ja X drin...)
Jain.
Danke!
Ein Beispiel (vermutlich wie man's nicht machen soll) bringe ich Mi mit.
Ein Beispiel, wie man es z.B. machen kann, findest Du beim Network-Kioslave*, Dateien networkthread.* und networkslave.cpp. Beim NetworkThread wird der Standard-Eventloop des Threads öfter ein- und ausgeschaltet ("exec()" und "exit()"), je nachdem, ob Eventverarbeitung geschehen soll, was für Signal/Slot, Timer, D-Bus und einiges anderes mehr im Thread benötigt wird.
* http://websvn.kde.org/trunk/playground/network/networkkio/ioslave/
Gruß Friedrich
lug-dd@mailman.schlittermann.de