Ich weiß es ist besser pro Thema nur eine Frage zu stellen, aber dann müsste ich gleich 2 Threads eröffnen und irgenwiehängt es ja doch zusammen

Ich bin ein totaler Newbie was wxPyhton betrifft, und eigentlich auch Python im Allgemeien.
Mein Ziel ist es Bilder, die ich mit der PIL bearbeitet habe in einem wxPython-Fenster anzuzeigen. Ich poste mal den Code dieser Klasse:
Code: Alles auswählen
class MainWindow(wxFrame):
def __init__(self,parent,id,title):
wxFrame.__init__(self,parent,wxID_ANY, title, size = (600,400),
style=wxDEFAULT_FRAME_STYLE|
wxNO_FULL_REPAINT_ON_RESIZE)
pil = Image.open("lena.gif")
pil2 = manipulate(pil)
b = pilToBitmap(pil) # gibt ein wxBitmap zurück
b2 = pilToBitmap(pil2)
self.sb = wxStaticBitmap(self, ID_SB, b) # hier mach ich die BMs zum Anzeigen
self.sb2 = wxStaticBitmap(self, ID_SB2, b2)
self.button = wxButton(self, ID_BUTTON, "mach")
EVT_BUTTON(self, ID_BUTTON, self.On1Click)
self.sizer2=wxBoxSizer(wxHORIZONTAL)
self.sizer2.Add(self.sb,True,wxEXPAND)
self.sizer2.Add(self.sb2,True,wxEXPAND)
self.sizer=wxBoxSizer(wxVERTICAL)
self.sizer.Add(self.sizer2, False, wxEXPAND)
self.sizer.Add(self.button, False, wxEXPAND)
self.SetSizer(self.sizer)
self.SetAutoLayout(1)
self.sizer.Fit(self)
self.Show()
def On1Click(self, e):
self.sizer2.Remove(self.sb) # Hier will ich das angezeigte Bild löschen
del self.sb2 # Ist das hier überhaupt nötig?
self.sizer2.Layout() # Und das hier?
2) Wie lösche ich ein Bild aus einem Sizer und ersetze es durch ein neues/verändertes? Wenn ich Remove(meineStaticBitmap) nehme, dann ist das Bild zwar nicht mehr im Sizer, wird aber immer noch angezeigt, wie krieg ich das weg? Außerdem steht in der Doku, dass ich lieber Detach() nehmen soll, aber dann sagt er mir, dass wxBoxSizer kein solches Attribut hätte. Außerdem zerstört Detach() das Bild ja nicht, was ich eigentlich ja will.
Wär super wenn mir jemand dabei helfen könnte!
Danke schon im Voraus,
benedikt
EDIT by mawe: code-tags -> python-tags