Slot wird nie aufgerufen
Verfasst: 23. Januar 2009 18:50
Ich habe ein widget was periodisch einen Thread aufruft, damit dieser Werte von einem Gerät ausliest. Wenn der Thread diese Werte gesammelt hat soll über ein Signal eine Function im widget ausgelöst werden in der das widget die Werte vom Thread ausliest.
Das connect sieht so aus:
die Funktion OnUpdateValuesReady(); existiert und ist ein SLOT.
in widgetPositionInformationThreadImpl wird das Signal am Ende von run() ausgelöst:
Das connect funktioniert und liefert auch keinen Fehler auf der Konsole, das emit wird wie erwartet aufgerufen, aber die Funktion OnUpdateValuesReady() wird niemals aufgerufen.
Was könnte der Grund sein, und wie könnte ich das debuggen?
Das connect sieht so aus:
Code: Alles auswählen
void widgetPositionInformation::connectSignalSlots()
{
if (TranslationStage)
connect(TranslationStage, SIGNAL(positionReached()), this, SLOT(UpdateValues()));
connect(widgetPositionInformationThreadImpl, SIGNAL(valuesReady()), this, SLOT(OnUpdateValuesReady()));
}
in widgetPositionInformationThreadImpl wird das Signal am Ende von run() ausgelöst:
Code: Alles auswählen
void widgetPositionInformationThread::run()
{
...
emit valuesReady();
}
Was könnte der Grund sein, und wie könnte ich das debuggen?