我正在尝试在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