Auf Fenster warten?

Plattformunabhängige GUIs mit wxWidgets.
Antworten
sprudel
User
Beiträge: 245
Registriert: Donnerstag 8. März 2007, 17:12

Freitag 11. Mai 2007, 11:31

Hallo.

Ich möchte folgenden Code machen:

Code: Alles auswählen

[machesachen]
Fenster = NeuesFenster(self,...)
[andereAktionen]
Ich möchte allerdings dass diese anderen Aktionen erst ausgeführt werden, wenn das Fenster fertig ist (also destroyed wurde)

Wie mache ich das am besten?

Falls es euch was nützt: Das Fenster ist eine eigene Klasse vom Typ wx.MiniFrame


Hoffe ihr wisst weiter.

Gruß sprudel
Benutzeravatar
gerold
Python-Forum Veteran
Beiträge: 5555
Registriert: Samstag 28. Februar 2004, 22:04
Wohnort: Oberhofen im Inntal (Tirol)
Kontaktdaten:

Freitag 11. Mai 2007, 12:21

sprudel hat geschrieben:Ich möchte allerdings dass diese anderen Aktionen erst ausgeführt werden, wenn das Fenster fertig ist (also destroyed wurde)
Hallo sprudel!

Das geht mit Dialogen (wx.Dialog). Diese kannst du mit ``mydialog.ShowModal()`` aufrufen. Dabei wird an dieser Stelle gewartet bis der Dialog geschlossen wurde. Das geht nicht mit normalen Frames.

Warum geht das nicht mit Frames? -- Frames wurden so programmiert, dass sie nebeneinander existieren können. Es ist kein Problem 20 Frames nebeneinander zu stellen und in jedem Frame etwas anderes anzuzeigen. Man kann wahllos einen der Frames markieren und damit arbeiten. Es ist nicht möglich, einen Frame so aufzurufen, dass das Programm erst nach dem Schließen eines Frames an der Aufrufstelle weiterläuft. Um das zu ermöglichen, müsste man sehr viel Aufwand betreiben.

Ein Dialog ist so programmiert, dass genau das möglich ist. Dafür funktioniert es aber nicht (ohne großen Aufwand), mehrere Dialoge nebeneinander anzuzeigen und gleichzeitig mit diesen Dialogen zu arbeiten.

mfg
Gerold
:-)
http://halvar.at | Kleiner Bascom AVR Kurs
Wissen hat eine wunderbare Eigenschaft: Es verdoppelt sich, wenn man es teilt.
sprudel
User
Beiträge: 245
Registriert: Donnerstag 8. März 2007, 17:12

Freitag 11. Mai 2007, 13:36

Kann ich dann auch einfach mein Fenster von wx.MiniFrame und gleichzeitig von wx.Dialog ableiten? Ich mag nämlich diese kleinen winzigen Titelleisten.
Antworten