Seite 1 von 1

QThread::setParent()-Fehler seit Qt v4.2

Verfasst: 1. Dezember 2006 00:43
von FaS
Also hab hier mal ein Problem was ich in Qt v4.1.2 mit dem selben Code nicht hatte:

Ich weise einem frisch erstelltem QThread (abgeleitet) mit

Code: Alles auswählen

thread->setParent( this );
eine abgeleitete QMainWindow-Instanz als Parent zu, aber thread->parent() liefert nach wie vor immer 0. Das ist nicht gut.
Im Konstruktor des Threads wird zuvor

Code: Alles auswählen

moveToThread( this );
aufgerufen, damit nicht nur die run()-Funktion in einem separatem Thread arbeitet, sondern auch alles andere (z.B. event loop, member functions etc.)
Wenn ich nun dieses moveToThread() rausnehme, funktioniert die Parent-Zuweisung auf einmal, ging aber vorher auch mit dieser Funktion. (Das Programm lief einwandfrei mit Qt v4.1.2, habe jetzt Qt v4.2.1)

Wäre schön wenn mir jemand helfen kann :-)
FaS

Verfasst: 1. Dezember 2006 15:50
von upsala
Soll angeblich in Qt4.2.2 behoben sein...

Verfasst: 1. Dezember 2006 16:16
von FaS
Ja? Hättest du ne Quelle dazu? Nich weil ich dir nicht glaube, ich würde nur gerne wissen was das genau für ein Fehler ist, wenn er doch in einer früheren Version von Qt nicht vorhanden war. Das betrifft also QObject's generell, dass da auf einmal unter bestimmten Bedingungen ein setParent() keine Wirkung zeigt?

Verfasst: 1. Dezember 2006 16:26
von upsala
Hmm, ich dachte ich hätte es im aktuellen ChangeLog gelesen, jetzt finde ich es nicht mehr. Kann mich auch getäuscht haben.

Verfasst: 3. Dezember 2006 01:46
von FaS
mit Qt v4.2.2 gehts auch nich..