Seite 1 von 1

ShowModal() auch für Frames ?

Verfasst: Montag 3. März 2008, 00:42
von snakeseven
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

Re: ShowModal() auch für Frames ?

Verfasst: Montag 3. März 2008, 08:56
von gerold

Verfasst: Donnerstag 6. März 2008, 10:57
von snakeseven
Klappt!

Thanx, Seven

Verfasst: Donnerstag 6. März 2008, 15:27
von mkesper
Brauchst du die modale Anzeige WIRKLICH?
In den allermeisten Fällen nervt die nur ohne Ende.

Verfasst: Samstag 8. März 2008, 09:06
von snakeseven
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: Alles auswählen

dialog = False
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