vbox不是一个容器
import wx
class MyFrame(wx.Frame):
def __init__(self):
super().__init__(parent=None,title="vbox",size=(200,150),pos=(100,100)) #继承wx.Frame类
self.Center()
panel = wx.Panel(parent=self) #面板
# 添加静态文本到vbox
self.statictext = wx.StaticText(parent=panel,label='LILY CAI',pos=(10,10))
# 垂直方向布局对象 大
vbox=wx.BoxSizer(wx.VERTICAL)
vbox.Add(self.statictext,proportion=2,flag=wx.FIXED_MINSIZE | wx.TOP | wx.CENTER,border=10) #border定义距离边框距离
b1=wx.Button(parent=panel, id=10, label='Button1')
b2=wx.Button(parent=panel, id=11, label='Button2')
self.Bind(wx.EVT_BUTTON,self.on_click,id=10,id2=20)
#创建水平box 小
hbox=wx.BoxSizer(wx.HORIZONTAL)
hbox.Add(b1,0,wx.EXPAND | wx.BOTTOM,5)
hbox.Add(b2,0,wx.EXPAND | wx.BOTTOM,5)
#将水平box添加到垂直box 这里表示垂直的大的,水平在垂直里面,也可以反过来的
vbox.Add(hbox,proportion=1,flag=wx.CENTER)
panel.SetSizer(vbox)
def on_click(self,event):
source_id=event.GetId()
print(source_id)
class App(wx.App):
def OnInit(self): #进入
frame = MyFrame()
frame.Show()
return True
def OnExit(self): #退出
print("tuichu")
return 0
if __name__ == '__main__':
app=App()
app.MainLoop()