Frage: Wie kill ich ein Panel. Ich dachte ich könnte dies mit Destroy() oder besser noch mit DestroyChildren() realisieren. Aber das klappt nicht so wie ichs mir vorstelle. die wxTextCtrl usw. sind immer noch aktiv.
Was sagt ihr dazu?
Greetz 2bock

Code: Alles auswählen
#!/usr/bin/python
# -*- coding: ISO-8859-1 -*-
from wxPython.wx import *
class DlgTest(wxFrame):
def __init__(self, *args, **kwds):
kwds["style"] = wxDEFAULT_FRAME_STYLE
wxFrame.__init__(self, *args, **kwds)
self.panel = wxPanel( self, wxNewId() )
self.btn = wxButton(self.panel, wxNewId(), "Ausgabe")
self.txtctrl = wxTextCtrl(self.panel, wxNewId() )
sizer_pn = wxBoxSizer( wxHORIZONTAL )
sizer_pn.Add( self.btn, 0, 0, 0 )
sizer_pn.Add( self.txtctrl, 0, 0, 0 )
self.panel.SetAutoLayout(1)
self.panel.SetSizer( sizer_pn )
sizer_pn.Fit( self.panel )
self.panel.Layout()
self.SetTitle("Frametest")
self.__do_layout()
EVT_BUTTON( self, self.btn.GetId(), self.OnBtnAusgabe )
def __do_layout(self):
sizer_1 = wxBoxSizer(wxHORIZONTAL)
sizer_1.Add(self.panel, 0, 0, 0)
self.SetAutoLayout(1)
self.SetSizer(sizer_1)
sizer_1.Fit(self)
sizer_1.SetSizeHints(self)
self.Layout()
self.Centre()
def OnBtnAusgabe(self, event):
print self.panel
print self.btn
print self.txtctrl
self.panel.Destroy()
print self.panel
print self.btn
print self.txtctrl