Использование Boxsizer в wxPython - PullRequest
0 голосов
/ 04 марта 2012

Я пытаюсь создать не слишком сложный макет в wxPython.Для начала, я использовал следующий код:

    self.environmentpnl=wx.Panel(parent=self,pos=(0,0),size=(1070,30),style=wx.BORDER_RAISED)
    self.combochoices=['Finance',
                       'Risk',
                       'Portolio Management',
                       'Reporting',
                       'Administration'
                      ]
    self.environmentbox=wx.ComboBox(self.environmentpnl,pos=(5,0),size=(200,25),choices=self.combochoices,value='<<select environment>>')
    submitbutton=wx.Button(self.environmentpnl,label='Submit',pos=(210,0),size=(80,22))
    clearbutton=wx.Button(self.environmentpnl,label='Clear',pos=(295,0),size=(80,22))
    self.Bind(wx.EVT_COMBOBOX,self.envStatus,self.environmentbox)
    self.Bind(wx.EVT_BUTTON,self.loadEnvironment,submitbutton)

    hbox1=wx.BoxSizer(wx.HORIZONTAL)
    vbox=wx.BoxSizer(wx.VERTICAL)
    hbox1.Add(self.environmentpnl,proportion=1,flag=wx.EXPAND | wx.ALL,border=0)
    vbox.Add(hbox1,flag=wx.EXPAND)

    self.mainpnl=wx.ScrolledWindow(parent=self,id=-1,size=(851,348))
    self.mainpnl.SetScrollbars(1,1,2000,2000,0,0)
    self.mainpnl.scroller=wx.lib.dragscroller.DragScroller(self.mainpnl)
    hbox2=wx.BoxSizer(wx.HORIZONTAL)
    hbox2.Add(self.mainpnl,proportion=1,flag=wx.EXPAND | wx.ALL,border=0)
    vbox.Add(hbox2,flag=wx.EXPAND)

При наличии только hbox1 и vbox, self.environmentpnl расширяется по горизонтали, как я хочу, но как только я добавляю self.mainpnl со связанным с ним hbox2, больше ничего не расширяется.Кроме того, self.mainpnl перекрывается с self.environmentpnl.

Может кто-нибудь указать, где я иду не так, пожалуйста?Я пытался целыми днями и везде читал, но не могу заставить его работать.

Спасибо.MCM

...