Hinweis: Das Forum wird geschlossen! Neue Registrierungen sind nicht mehr möglich!

 Zurück zu Pro-Linux   Foren-Übersicht   FAQ     Suchen    Mitgliederliste
Qt/KDE: Kommunikation/Datentransfer zwischen Eltern-,Kind- u. Kindeskind-Klassen

 
Neuen Beitrag schreiben   Auf Beitrag antworten    Pro-Linux Foren-Übersicht -> Programmieren - C
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
mvo
Gast





BeitragVerfasst am: 07. Feb 2002 20:50   Titel: Qt/KDE: Kommunikation/Datentransfer zwischen Eltern-,Kind- u. Kindeskind-Klassen

Hallo,
ich habe mal ein paar grundsaetzliche Fragen, zu denen ich zwar funktionsfaehige Antworten finde, die mir aber alle sehr unelegant vorkommen. Vielleicht hab ich ja Tomaten auf den Augen und sehe die einfache Loesung nicht. Folgende Situation (stark vereinfacht, es gibt noch mehr gleichartige Kinder von Main):

code:

|-> Widget A (Kind von Main) -> Widget B (Kind von A, modaler Dialog)
Mainwidget -|
|-> Widget C (Kind von Main) -> Widget D (Kind von C, modaler Dialog)



A und C sind zwei Instanzen derselben Klasse. In A, B, C, D werden abhaengig von Benutzereingaben Daten erzeugt. Wenn der Benutzer im Mainwidget "Sichern" auswaehlt, sollen alle Daten in dieselbe KDE-Konfigdatei geschrieben werden. B und D existieren zu dem Zeitpunkt noch.
Dazu faellt mir folgendes ein:
1) A, B, C u. D speichern ihre Daten selber ab. Main sendet nur ein Signal "Speichern" an alle. Dann habe ich ein Problem mit der Koordination, wer speichert wann, alle zugleich geht nicht. Ausserdem muessen A u. C den Parent Zeiger an ihre Kinder weitergeben, damit diese an das "Sichern" Signal von Main connecten koennen.
2) Main erzeugt die Datenstrukturen selber und gibt Zeiger darauf an die Kinder u. Kindeskinder weiter und speichert alle Daten selber ab. Nachteil: Jede Menge Zeiger muessen ueber die Konstruktoren weitergereicht werden.
3) A, B, C u. D sind alles Kinder von Main, so ist die Hierarchie flacher und Main hat direkten Zugriff auf B u. D, aber der Verwaltungsaufwand verdoppelt sich.
4) Alle datenerzeugenden Methoden gehoeren zu Main. Die Kinder sind reine Benutzerschnittstellen. Dann wird Main sehr komplex und unuebersichtlich.
5) Verwendung von globalen Variablen (ist das in C++ schlechter Programmierstil?) fuer die Daten, Main speichert alles selber.
6) Die Kinder speichern ihre Daten in temporaere Dateien, Main fuegt dann alles zusammen.

Schonmal Danke an alle, die bis hier gelesen haben
 

Dominik Seichter
Gast





BeitragVerfasst am: 08. Feb 2002 10:23   Titel: Re: Qt/KDE: Kommunikation/Datentransfer zwischen Eltern-,Kind- u. Kindeskind-Kla

Hi!
 

Dominik Seichter
Gast





BeitragVerfasst am: 08. Feb 2002 10:27   Titel: Re: Qt/KDE:

Sorry, dillo hat beim Posting oben irgendetwas vergessen, also nochmal:

Du kannst die Methode parent() von QObject verwenden um an den Parent Zeiger zu kommen. Um von B aus den Zeiger zu MainWidget zu bekommen sollte ein this->parent()->parent(); reichen. Um von Mainwidget aus die Liste aller Kinder zu erhalten kannst Du die Methode children() verwenden!

CU Dom
 

mvo
Gast





BeitragVerfasst am: 08. Feb 2002 17:52   Titel: Re: Qt/KDE: Kommunikation/Datentransfer...

Ich wusste ja, irgendwas wichtiges habe ich uebersehen. In dem Fall war es QObject, das fast alle Probleme loest. Besten Dank .
 

Beiträge vom vorherigen Thema anzeigen:   
     Pro-Linux Foren-Übersicht -> Programmieren - C Alle Zeiten sind GMT + 1 Stunde
Seite 1 von 1

 
Gehen Sie zu:  

Powered by phpBB © phpBB Group
pro_linux Theme © 2004 by Mandaxy