Panelinhalt abhängig vom Kontext

Plattformunabhängige GUIs mit wxWidgets.
Antworten
rayo
User
Beiträge: 773
Registriert: Mittwoch 5. November 2003, 18:06
Wohnort: Schweiz
Kontaktdaten:

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:

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)
beim wechseln:

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 einblenden
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
Benutzeravatar
gerold
Python-Forum Veteran
Beiträge: 5555
Registriert: Samstag 28. Februar 2004, 22:04
Wohnort: Oberhofen im Inntal (Tirol)
Kontaktdaten:

Hi rayo!

Vielleicht kannst du damit etwas anfangen: http://www.python-forum.de/topic-6480.html

mfg
Gerold
:-)
http://halvar.at | Kleiner Bascom AVR Kurs
Wissen hat eine wunderbare Eigenschaft: Es verdoppelt sich, wenn man es teilt.
rayo
User
Beiträge: 773
Registriert: Mittwoch 5. November 2003, 18:06
Wohnort: Schweiz
Kontaktdaten:

Hi gerold

Ja damit kann ich viel anfangen :)
So funktionierts, hatte das mit dem Sizer-Detach nicht gemacht.

Gruss
Antworten