Neues Panel laden
Verfasst: Freitag 20. Mai 2005, 16:07
hi
ich hoffe mir kann einer helfen:
1. ich lade einen wx.BoxSizer(wx.HORIZONTAL) dem ich 2 Panels(panel1 und panel2) überweise. Nun möchte ich per Mausklick den 2 Panel neu laden, also sozusagen einen neuen Panel laden.
das ganze lade ich per xrc...
das problem ist, dass wenn ich die panels lade, der Frame immer verunstaltet wird.
die xrc-Datei:[/code]
ich hoffe mir kann einer helfen:
1. ich lade einen wx.BoxSizer(wx.HORIZONTAL) dem ich 2 Panels(panel1 und panel2) überweise. Nun möchte ich per Mausklick den 2 Panel neu laden, also sozusagen einen neuen Panel laden.
das ganze lade ich per xrc...
Code: Alles auswählen
wx.Frame.__init__(self,parent,-1,title,pos=(50,50),size=(1100,700))
self.res = xrc.XmlResource("NWA.xrc")
#create panels
self.panel1 = self.res.LoadPanel(self,"PanelLeft")
self.panel1.SetBackgroundColour(wx.BLUE)
self.panel2 = self.res.LoadPanel(self,"PanelRight")
## self.panel2.SetBackgroundColour(wx.GREEN)
TreeLCTRL = TreeListCtrl(self.panel1,self.panel2,self)
#create sizer and add the panels
self.mainSizer = wx.BoxSizer(wx.HORIZONTAL)
self.mainSizer.Add(self.panel1,0,wx.ALIGN_LEFT)
self.mainSizer.Add(self.panel2,0,wx.ALIGN_RIGHT)
#setting the sizer
self.SetSizer(self.mainSizer)
self.SetAutoLayout(1)
self.mainSizer.Fit(self)
#load the menu
menu = self.res.LoadMenuBarOnFrame(self,"Menu")
#load the statusbar
statusbar = self.CreateStatusBar(style = wx.ST_SIZEGRIP)
#set the statusbar
self.SetStatusText("Nutzwertanalyse")
EVT_MENU(self,XRCID("NWA Beenden"),self.OnExit)
EVT_MENU(self,XRCID("Neue NWA"),self.OnNew)
EVT_MENU(self,XRCID("NWA Laden"),self.OnLoad)
EVT_MENU(self,XRCID("NWA Schliessen"),self.OnClose)
EVT_MENU(self,XRCID("NWA Speichern"),self.OnSave)
EVT_MENU(self,XRCID("NWA Speichern als"),self.OnSaveAs)
EVT_MENU(self,XRCID("Bildschirm"),self.OnDisplay)
EVT_MENU(self,XRCID("Ueber"),self.OnAbout)
def OnNew(self,evt):
## self.mainSizer.Detach(self.panel2)
self.panel2.Destroy()
def OnLoad(self,evt):
self.res.LoadPanel(self.panel2,"PanelRight")
self.update()
## self.mainSizer.Remove(self.panel2
## self.mainSizer.Add(self.panel2,0,wx.EXPAND)
## print("hallo")
## self.resize()
die xrc-Datei:
Code: Alles auswählen
<?xml version="1.0" encoding="iso8859-1"?>
<resource>
<object class="wxFrame" name="NWA">
<title></title>
<size>800,800</size>
</object>
<object class="wxMenuBar" name="Menu">
<object class="wxMenu" name="Datei">
<label>Datei</label>
<object class="wxMenuItem" name="Neue NWA">
<label>Neue NWA</label>
</object>
<object class="wxMenuItem" name="NWA Laden">
<label>NWA Laden</label>
</object>
<object class="wxMenuItem" name="NWA Schliessen">
<label>NWA Schliessen</label>
</object>
<object class="separator"/>
<object class="wxMenuItem" name="NWA Speichern">
<label>NWA Speichern</label>
</object>
<object class="wxMenuItem" name="NWA Speichern als">
<label>NWA Speichern als</label>
</object>
<object class="separator"/>
<object class="wxMenuItem" name="Drucken">
<label>Drucken</label>
<enabled>0</enabled>
</object>
<object class="separator"/>
<object class="wxMenuItem" name="NWA Beenden">
<label>NWA Beenden</label>
</object>
</object>
<object class="wxMenu" name="Ausgabe">
<label>Ausgabe</label>
<object class="wxMenuItem" name="Bildschirm">
<label>Bildschirm</label>
</object>
<object class="wxMenuItem" name="Drucker">
<label>Drucker</label>
<enabled>0</enabled>
</object>
<object class="wxMenuItem" name="LaTeX">
<label>LaTeX</label>
<enabled>0</enabled>
</object>
<object class="wxMenuItem" name="XML">
<label>XML</label>
<enabled>0</enabled>
</object>
</object>
<object class="wxMenu" name="Hilfe">
<label>Hilfe</label>
<object class="wxMenuItem" name="Inhalt">
<label>Inhalt</label>
<enabled>0</enabled>
</object>
<object class="wxMenuItem" name="Index">
<label>Index</label>
<enabled>0</enabled>
</object>
<object class="separator"/>
<object class="wxMenuItem" name="Ueber">
<label>Ueber</label>
</object>
</object>
</object>
<object class="wxPanel" name="PanelLeft">
<size>500,600</size>
<style>wxSIMPLE_BORDER</style>
</object>
<object class="wxPanel" name="PanelRight">
<size>500,600</size>
<style>wxSIMPLE_BORDER</style>
</object>
<object class="wxPanel" name="WurzelEingabe">
<size>500,600</size>
<object class="wxGridSizer">
<cols>2</cols>
<rows>2</rows>
<vgap>0</vgap>
<hgap>0</hgap>
<object class="sizeritem">
<object class="wxBoxSizer">
<orient>wxVERTICAL</orient>
<object class="spacer">
<size>20,40</size>
<flag>wxRIGHT</flag>
</object>
<object class="sizeritem">
<object class="wxStaticText">
<label>Definition der Bewertungsskala (Kardinalskala)</label>
</object>
<option>3</option>
<flag>wxALIGN_CENTRE_HORIZONTAL</flag>
</object>
<object class="spacer">
<size>20,20</size>
</object>
<object class="sizeritem">
<object class="wxBoxSizer">
<orient>wxHORIZONTAL</orient>
<object class="sizeritem">
<object class="wxStaticText">
<label>Wahl der Skalenbreite: </label>
</object>
<flag>wxALIGN_CENTRE_HORIZONTAL</flag>
</object>
<object class="sizeritem">
<object class="wxComboBox">
<content>
<item>1</item>
<item>2</item>
<item>3</item>
<item>4</item>
<item>5</item>
<item>6</item>
</content>
<selection>0</selection>
</object>
<flag>wxALIGN_CENTRE_HORIZONTAL</flag>
</object>
</object>
</object>
<object class="sizeritem">
<object class="wxListCtrl" name="da">
<size>500,100</size>
<style>wxLC_LIST</style>
</object>
</object>
</object>
</object>
</object>
</object>
<object class="wxPanel" name="KnotenEbene">
<object class="wxBoxSizer">
<orient>wxVERTICAL</orient>
<object class="sizeritem">
<object class="wxStaticText">
<label>Eingabe und Bewertung der Kriterien für die Ebene:</label>
</object>
</object>
<object class="spacer">
<size>0,10</size>
</object>
<object class="sizeritem">
<object class="wxStaticText">
<label>Name der Ebene:</label>
</object>
</object>
<object class="sizeritem">
<object class="wxTextCtrl"/>
</object>
</object>
</object>
</resource>