Seite 1 von 1

*gelöst* Signals and Slots Problem

Verfasst: 10. August 2006 13:44
von Deimos
Hallöle, ich habe mal wieder ein kleines Problem.
Und zwar bin ich dabei eine MDI-Anwendung zu erstellen, die ca. 30 verschiedene Views hat. Diese Views sind von QWidget abgeleitete Fenster, die in einem Workspace der Hauptanwendung geöffnet werden.
Nun brauch ich eine Verbindung zwischen den Views und der Hauptanwendung, sprich: Wenn ich z.B. einen View schließe soll die Hauptanwendung entsprechend reagieren.
Ich habs über

Code: Alles auswählen

(mView, SIGNAL(close()), this, SLOT(macheirgendwas())); 
versucht, was ich in den Konstruktor der Hauptanwendung gepackt habe..Nur leider scheint es nicht zu funktionieren :(
Das gleiche Problem habe ich auch bei den Toolbars/DockWindows, da dort Daten geändert werden und an das Hauptfenster weitergereicht werden müssen.
Hat vielleicht jemand einen Lösungsansatz parat? Oder ist das Problem nicht ausführlich genug beschrieben?
Danke schon mal

Gruß,
Andreas

Verfasst: 10. August 2006 16:38
von Deimos
so habs soweit allein gelöst..bin halt noch ein qt anfänger und hatte vergessen, dass es ja noch "emit" gibt..das bringt mich schon mal ein ganzes stück weiter

Verfasst: 10. August 2006 17:10
von upsala
Naja, du könntst bei Widgets WA_DeleteOnClose setzen und dann das Signal QObject::destroyed(QObject *) abfragen

oder einen EventHandler installieren der das closeEvent mitverfolgt...

Verfasst: 10. August 2006 17:15
von Deimos
delete on close will ich nicht, weil die Views erhalten bleiben sollen, auch wenn sie mal nicht angezeigt werden.
das mit dem eventhandler klingt gut, aber mit einem emit an der entsprechenden stelle funktioniert es auch ganz gut und ich kann alles auf nen slot umleiten, der das dann verwaltet..hab das auch in der letzten stunde schon soweit umgesetzt bzw. bin noch dabei.
aber danke für die antwort :)