Panelinhalt abhängig vom Kontext

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

Panelinhalt abhängig vom Kontext

Beitragvon rayo » 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:

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: 5554
Registriert: Samstag 28. Februar 2004, 22:04
Wohnort: Telfs (Tirol)
Kontaktdaten:

Beitragvon gerold » Donnerstag 15. März 2007, 19:53

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:

Beitragvon rayo » Freitag 16. März 2007, 14:14

Hi gerold

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

Gruss

Wer ist online?

Mitglieder in diesem Forum: Bing [Bot]