ShowModal() auch für Frames ?

Plattformunabhängige GUIs mit wxWidgets.
Benutzeravatar
snakeseven
User
Beiträge: 405
Registriert: Freitag 7. Oktober 2005, 14:37
Wohnort: Berlin
Kontaktdaten:

ShowModal() auch für Frames ?

Beitragvon snakeseven » Montag 3. März 2008, 00:42

Hallo,
meinem selbst gebastelten Dialog möchte ich die Exklusivität geben, die
man bei wx.Dialog() über ShowModal() erreicht. Funktioniert das bei einem Frame über einen bestimmten Style, oder gibt es eine Funktion dafür?

Gruß
Seven
Benutzeravatar
gerold
Python-Forum Veteran
Beiträge: 5554
Registriert: Samstag 28. Februar 2004, 22:04
Wohnort: Telfs (Tirol)
Kontaktdaten:

Re: ShowModal() auch für Frames ?

Beitragvon gerold » Montag 3. März 2008, 08:56

http://halvar.at | Kleiner Bascom AVR Kurs
Wissen hat eine wunderbare Eigenschaft: Es verdoppelt sich, wenn man es teilt.
Benutzeravatar
snakeseven
User
Beiträge: 405
Registriert: Freitag 7. Oktober 2005, 14:37
Wohnort: Berlin
Kontaktdaten:

Beitragvon snakeseven » Donnerstag 6. März 2008, 10:57

Klappt!

Thanx, Seven
Benutzeravatar
mkesper
User
Beiträge: 919
Registriert: Montag 20. November 2006, 15:48
Wohnort: formerly known as mkallas
Kontaktdaten:

Beitragvon mkesper » Donnerstag 6. März 2008, 15:27

Brauchst du die modale Anzeige WIRKLICH?
In den allermeisten Fällen nervt die nur ohne Ende.
Benutzeravatar
snakeseven
User
Beiträge: 405
Registriert: Freitag 7. Oktober 2005, 14:37
Wohnort: Berlin
Kontaktdaten:

Beitragvon snakeseven » Samstag 8. März 2008, 09:06

Hi mkallas,

mich nervt die modale Darstellung bei Dialogboxen auch oft, aber in meinem Fall muß sie sein. Aus Gründen, die jetzt zu weit gehen würden, muß ich das Öffnen von Dialogen dem Rest des Programmes mitteilen. Das geschieht über ein Flag.

Code: Alles auswählen

def alert_connectionfailed(self):
        self.dialogflag = True
        dlg = wx.MessageDialog(None, 'connection to Server failed', "System Message", wx.OK | wx.ICON_ERROR)
        if dlg.ShowModal() == wx.ID_OK:
            self.dialogflag = False
        dlg.Destroy()


Da ich nicht jedem Dialog sein eigenes Flag verpassen möchte, um es dann mit if (flag1 or flag2 or flag3 or...) abzufragen, gibt es ein Globales für alle (dialogflag).

Sollten mehrere Dialoge zur selben Zeit geöffnet sein, würde das Schließen eines der geöffneten Dialoge zur Folge haben, dass [code=]dialog = False[/code] gesetzt wird, obwohl noch Dialoge offen sind.
Daher muß ich mit MakeModal() dafür sorgen, dass immer nur ein Dialog geöffnet ist.

Grüße,
Seven

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder