kann es sein, dass die Metaobjekte im destroyed-slot nicht richtig funktionieren?
Ich versuche gerade den Inhalt einer QComboBox abzuspeichern, wenn sie gelöscht wird, aber, obwohl der übergebene Zeiger auf die ComboBox zeigt, lässt er sich nicht auf QComboBox casten. Im Slot steht:
Code: Alles auswählen
printf("object name: %s\n", obj->metaObject()->className());
QWidget* widget = qobject_cast<QWidget*>(obj);
if (!widget) return;
printf(" widget name: %s\n", widget->metaObject()->className());
QComboBox* cb = qobject_cast<QComboBox*>(obj);
if (!cb) {
printf("no cb\n");
}
Besonders seltsam ist, dass sich das Objekt zu QWidget* casten lässt, obwohl als Klassenname QObject* zurückgegeben wird.object name: QObject
widget name: QObject
no cb
BeniBela
PS: mit qt4.5.3