Rückgabewert an Hauptfenster (wxPython)

Plattformunabhängige GUIs mit wxWidgets.
Antworten
HarryH
User
Beiträge: 266
Registriert: Freitag 23. Mai 2003, 09:08
Wohnort: Deutschland

Montag 9. Februar 2004, 09:24

Hallo,

Ich habe einen Dialog gebaut, den ich vom Hauptfenster meines Programms aufrufe. Momentan mache ich das mit ShowModal().

Mit EndModal() beende ich dann meinen Dialog und über GetTuple() - eine Funktion in meinem Dialog - hole ich mir dann meine Rückgabewerte.

Doch mit ShowModal() verhindere ich, solange der Dialog geöffnet ist, irgendetwas anderes mit meinem Programm machen zu können.
Rufe ich den Dialog mit Show() auf kann ich keinen Wert zurückgeben.

Meine Frage:
Kann ich meinen Dialog mit Show() aufrufen und beim Beenden trotzdem einen Wert an mein Hauptfenster zurückgeben?
Vielleicht in dem ich beim Beenden des Dialogs eine Variable in meinem Hauptfenster verändere? Doch wie habe ich Zugriff auf diese?

Vielleicht wißt ihr mehr!
Gruß, Harry
Christopy
User
Beiträge: 131
Registriert: Montag 15. Dezember 2003, 22:39

Montag 9. Februar 2004, 15:05

Hallo Harry
Wenn Du den Dialog mit Übergabe eines Parents erzeugt hast, kannst Du im Dialog die Methode GetParent() aufrufen um auf das Hauptfenster zuzugreifen.
HarryH
User
Beiträge: 266
Registriert: Freitag 23. Mai 2003, 09:08
Wohnort: Deutschland

Montag 9. Februar 2004, 15:32

Hallo,

Super, es geht! :D
Ich habe aber nur auf die unter "def __init__" deklarierten Variablen Zugriff (z.B. "self.optionen").
Kann ich auch auf die mit "global" bezeichnetet Variablen zugreifen?
Gruß, Harry
Gast

Montag 9. Februar 2004, 15:50

Also mit globalen Variablen kenn ich mich nicht so aus, da ich sie immer zu vermeiden versuche.
Mit einer Instanz einer Klasse kannst Du natürlich nur auf die öffentlichen Attribute und Methoden der Klasse zugreifen.
Zur Not könntest Du eine Methode im Hauptfenster implementieren, die die gewünschte globale Variable ändert.
Antworten