Panelinhalt abhängig vom Kontext
Verfasst: Donnerstag 15. März 2007, 19:30
Hi
Ich hab auf der linken Seite ein TreeCtrl und auf der rechten ein Panel getrennt mit einem wx.SplitterWindow().
Jetzt ist das Panel noch leer, jedoch möchte ich, abhängig vom selektierten Item im TreeCtrl den ganzen Inhalt (alle Windows) auswechseln.
Damit soll dann z.B. bei einem Bild das Bild selber mit Höhe und Breite angezeigt werden.
Ich hab nun ein PicturePanel, ein AudioPanel, usw erstellt mit den benötigten Windows darin.
Wie kann ich nun im leeren Panel (rechts angezeigt) zuerst das PicturePanel anzeigen und dann wechseln auf das AudioPanel?
beim erstellen mach ich das:
beim wechseln:
Leider funktioniert das mit den Sizern nicht, die aktualisieren nicht richtig.
Gibts da eine saubere Lösung? oder gar ein Window, das genau dies macht?
Gruss
Ich hab auf der linken Seite ein TreeCtrl und auf der rechten ein Panel getrennt mit einem wx.SplitterWindow().
Jetzt ist das Panel noch leer, jedoch möchte ich, abhängig vom selektierten Item im TreeCtrl den ganzen Inhalt (alle Windows) auswechseln.
Damit soll dann z.B. bei einem Bild das Bild selber mit Höhe und Breite angezeigt werden.
Ich hab nun ein PicturePanel, ein AudioPanel, usw erstellt mit den benötigten Windows darin.
Wie kann ich nun im leeren Panel (rechts angezeigt) zuerst das PicturePanel anzeigen und dann wechseln auf das AudioPanel?
beim erstellen mach ich das:
Code: Alles auswählen
self.wx['splitter1'].SplitVertically(self.wx['tree'],self.wx['right'])
b = wx.BoxSizer(wx.VERTICAL)
b.Add(self.wx['picture'], flag=wx.EXPAND)
self.wx['right'].SetSizerAndFit(b)Code: Alles auswählen
for child in self.parent.wx['right'].GetChildren():
child.Hide() #alle Panels ausblenden
if isinstance(child, PicturePanel):
child.Show()#das gewollte einblendenGibts da eine saubere Lösung? oder gar ein Window, das genau dies macht?
Gruss