QThread abgeleitet Klasse macht keinen neuen Thread auf

Alles rund um die Programmierung mit Qt
Antworten
pospiech
Beiträge: 232
Registriert: 1. September 2006 17:20
Wohnort: Hannover

QThread abgeleitet Klasse macht keinen neuen Thread auf

Beitrag von pospiech »

Ich habe eine Klasse die Berechnungen durchführt von einer QThread Klasse abgeleitet um die Berechnung in einem eigenen Thread durchzuführen. Beim Aufrufen wird jedoch die GUI blockiert. Daher wüsste ich gerne ob meine Implementierung überhaupt richtig ist.

Hier eine Erklärung der gesamten Beteiligten Klassen

CalculationThread <- QThread abgeleitet
- Implementiert 'Iterate()' als virtuell

CLaserDynamicsBase <- CalculationThread abgeleitet
- Implementiert 'Iterate()' -> ruft run() auf
- Implementiert 'run()' -> ruft Iteration() auf
- Implementiert 'Iteration()' virtuell

CLaserDynamics <- CLaserDynamicsBase abgeleitet
- Implementiert 'Iteration()'

Das ganze starte ich dann in MainWindow.cpp mit
LaserDynamics.Iterate(0);

Es wird also die run() von QThread aufgerufen, aber anscheint kein eigener Thread gestartet.

Ist das so nun richtig implementiert ?

Matthias
Christian81
Beiträge: 7319
Registriert: 26. August 2004 14:11
Wohnort: Bremen
Kontaktdaten:

Beitrag von Christian81 »

MfG Christian

'Funktioniert nicht' ist keine Fehlerbeschreibung
pospiech
Beiträge: 232
Registriert: 1. September 2006 17:20
Wohnort: Hannover

Beitrag von pospiech »

Christian81 hat geschrieben:RTM: http://doc.trolltech.com/4.3/qthread.html#details
Welchen Teil davon meinst du?
QThreads begin executing in run(). To create your own threads, subclass QThread and reimplement run().
ist genau das was ich gemacht habe und oben versucht habe zu schildern.

Matthias
Christian81
Beiträge: 7319
Registriert: 26. August 2004 14:11
Wohnort: Bremen
Kontaktdaten:

Beitrag von Christian81 »

Nur weil es dort anfängt heisst es noch längst nicht dass Du diese Funktion aufrufen sollst. Umsonst ist sie nicht protected!
Liess bitte mal genauer anstatt einfach immer nur drüber zu fliegen... steht gleich im übernächsten Satz.
MfG Christian

'Funktioniert nicht' ist keine Fehlerbeschreibung
Antworten