Seite 1 von 1

frame.Destroy() ?

Verfasst: Donnerstag 24. Februar 2011, 17:17
von Floqqi
Hallo,

ich hab ein Panel, um welches ein Frame gebaut ist:

Code: Alles auswählen

class Frame(wx.Frame):
    def __init__(self, *args, **kwds):
        kwds["style"] = wx.DEFAULT_FRAME_STYLE
        wx.Frame.__init__(self, *args, **kwds)
        width = 400
        height = 200
        self.SetSize((width, height))
        self.SetMinSize((width, height))

        panel = wx.Panel(self, -1)
        all = Panel(panel, -1)
        hbox = wx.BoxSizer()
        hbox.Add(all, 1, wx.EXPAND|wx.ALL, 5)
        panel.SetSizer(hbox)
        self.Show(True)
        
if __name__ == "__main__":
    try:
            app = wx.App()
            Frame(None, -1, u"Test")
            app.MainLoop()
    finally:
        del app
Nun öffnet sich bei einem Klick auf den Button innerhalb des Panels ein wx.Dialog. In diesem Dialog wiederrum klick ich auf einen Button - der soll dazu führen, dass der Dialog und das Frame geschlossen werden. Das mit dem Dialog schließen hab ich schon geschafft mit EndModal(). Nun will ich aber, dass bei dem Klick auf den Button des Dialogs auch noch das Frame (in welchem sich ein Panel befindet) geschlossen wird.
Jemand eine Ahnung wie ich das anstellen könnte?


Grüße :)

Re: frame.Destroy() ?

Verfasst: Freitag 25. Februar 2011, 17:07
von Flano
Hallo Floqqi,

meinst du das:

Code: Alles auswählen

    def OnClose(self, event):
        dlg = wx.MessageDialog(self, 
            "Wirklich beenden?",
            "Confirm!", wx.OK|wx.CANCEL|wx.ICON_QUESTION)
        result = dlg.ShowModal()
        dlg.Destroy()
        if result == wx.ID_OK:
            self.Destroy()
Gruß Flano