wxPython窗体拆分布局基础组件
本文实例为大家分享了wxPython窗体拆分布局的具体代码,供大家参考,具体内容如下
BoxSizer布局管理
参数说明:
orient:wx.VERTICAL(垂直方向)或wx.HORIZONTAL(水平方向)
proportion:控件在方向上所占空间的相对于其他组件比例,
porportion=0,表示保持本身大小;
porportion=1,表示在水平方向上占三分之一的空间;
porportion=2,表示在水平方向上占三分之二的空间。
flag:wx.TOP|wx.BOTTOM|wx.LEFT|wx.RIGHT|wx.ALL|
wx.EXPAND(自动填充)
#-*-coding:utf-8-*- importwx fromwx._coreimportBoxSizer,GridSizer fromwx.lib.splitterimportMultiSplitterWindow,MultiSplitterEvent fromwx.lib.agw.fourwaysplitterimportFourWaySplitter classProxyFrame(wx.ScrolledWindow): def__init__(self,parent): wx.ScrolledWindow.__init__(self,parent) self.createWidget() defcreateWidget(self): self.proxy_split_mult=wx.SplitterWindow(self,style=wx.SP_LIVE_UPDATE,size=(800,450)) self.proxy_split_mult.SetMinimumPaneSize(10)#最小面板大小 self.proxy_split_top=wx.SplitterWindow(self.proxy_split_mult)#上结构 self.proxy_split_bottom=wx.SplitterWindow(self.proxy_split_mult)#下结构 ##########结构上左右########## self.proxy_scrol_leftTop=wx.ScrolledWindow(self.proxy_split_top) self.proxy_scrol_leftTop.SetBackgroundColour(wx.WHITE) self.proxy_scrol_leftTop.SetScrollbars(10,10,400,300) self.proxy_scrol_leftTop.SetAutoLayout(1) self.proxy_scrol_rightTop=wx.ScrolledWindow(self.proxy_split_top) self.proxy_scrol_rightTop.SetBackgroundColour(wx.BLACK) self.proxy_split_top.SetMinimumPaneSize(10)#最小面板大小 self.proxy_split_top.SplitVertically(self.proxy_scrol_leftTop,self.proxy_scrol_rightTop)#分割面板 self.proxy_split_top.SetSashGravity(0.5) ##########结构上左右end########## ##########结构下左右########## self.proxy_scrol_leftBottom=wx.ScrolledWindow(self.proxy_split_bottom) self.proxy_scrol_leftBottom.SetBackgroundColour(wx.WHITE) self.proxy_scrol_rightBottom=wx.ScrolledWindow(self.proxy_split_bottom) self.proxy_scrol_rightBottom.SetBackgroundColour(wx.BLACK) self.proxy_split_bottom.SetMinimumPaneSize(10)#最小面板大小 self.proxy_split_bottom.SplitVertically(self.proxy_scrol_leftBottom,self.proxy_scrol_rightBottom)#分割面板 self.proxy_split_bottom.SetSashGravity(0.5) ##########结构下左右end########## self.proxy_split_mult.SplitHorizontally(self.proxy_split_top,self.proxy_split_bottom)#分割面板 self.proxy_split_mult.SetSashGravity(0.5) self.SetScrollbars(10,10,400,300) sizer=wx.BoxSizer(wx.HORIZONTAL) sizer.Add(self.proxy_split_mult,1,flag=wx.EXPAND)#自动缩放 self.SetSizer(sizer) classMainFrame(wx.Frame): def__init__(self): wx.Frame.__init__(self,None,-1,"MyFrame",size=(800,450)) self.createWidget() defcreateWidget(self): ##########窗体底部状态栏########## self.statusbar=self.CreateStatusBar(2,wx.ST_SIZEGRIP) self.statusbar.SetStatusText("",0) self.statusbar.SetStatusText("",1) ##########HTTP代理书签页########## self.createProxyWidget() #HTTP代理书签页 defcreateProxyWidget(self): self.proxy_nb=wx.Notebook(self,-1,name="proxy_nb") self.proxyFrame=ProxyFrame(self.proxy_nb) self.proxy_nb.AddPage(self.proxyFrame,u"HTTP代理") defmain(): #设置了主窗口的初始大小960x540800x450640x360 root=wx.App() frame=MainFrame() frame.Show(True) root.MainLoop() if__name__=="__main__": main()
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持毛票票。
声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:czq8825#qq.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。