Seite 1 von 1

QThread und QWidget gleichzeitig?

Verfasst: 17. November 2007 22:33
von avenger
Ich habe ein Fenster erstellt (also Klasse mit QWidget). Nun wollte ich, dass das Programm dateien runterlädt und diese verarbeteit, soweit sogut. Aber: Das Programm bleibt stecken, während er die Datei runterlädt (etwas unelegant gelöst mit ner While-Schleife). Nun wollte ich einen Thread aus der funktion machen, sodass das Fenster noch weiter funktioniert währen der Thread halt die Dateien runterlädt + verarbeitet, leider kommt aber folgender Fehler:

Code: Alles auswählen

UpdaterWindow.cpp(17) : error C2594: 'Argument': Mehrdeutige Konvertierung von 'UpdaterWindow *const ' in 'const QObject *'
(gibt noch paar mehr fehler gleicher art, nur andere Zeile)

hier ist der ganz Code:
http://mandrill.fuxx0r.net/c++/paste:7951
(der fehler ist in dem fall in der Zeile 82)

mfg


p.s.: sollte der code nicht optimal geschrieben sein, ist das wurst, weil erstmal nur alles gut funktionieren soll, bevor ich alles optimiere

Verfasst: 18. November 2007 09:35
von Christian81
Nur der Hauptthread kann auch zeichnen, also hat es keinen Sinn von QWidget und QThread gleichzeitig abzuleiten. Siehe auch thread-demos/examples von Qt

Verfasst: 18. November 2007 12:53
von avenger
wie würdest du des dann am blödsten anstellen?

Verfasst: 18. November 2007 18:19
von Christian81
In Threads kann man immer nur berechnen lassen, nur der Hauptthread kann zeichnen. Die Ergebnisse wqürde ich dann (mit Qt4) per Signals&Slots dem Hauptthread übergeben.
Siehe Thread-Examples (z.B. mandelbrot)

Verfasst: 18. November 2007 18:25
von avenger
danke, werd ich machen