本篇文章给大家分享的是有关怎么实现一个wxpython布局,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。
import wx
class testBox(wx.Frame):
def __init__(self,parent=None):
wx.Frame.__init__(self,parent=parent)
#生成12个按钮
btns = [wx.Button(self,label=str(i)) for i in range(13)]
myStyle = wx.EXPAND|wx.ALL #设置装填风格
#左侧第一行的BoxSizer
box1 = wx.BoxSizer()
for i in range(3):
box1.Add(btns[i],1,myStyle,border=10)
#左侧第二行的BoxSizer
box2 = wx.BoxSizer()
for i in range(3,7):
box2.Add(btns[i],1,myStyle,border=10)
#左侧第三行的BoxSizer
box3 = wx.BoxSizer()
for i in range(7,12):
box3.Add(btns[i],1,myStyle,border=10)
#左侧BoxSizer,wx.VERTICAL表示这个BoxSizer为纵向
leftBox = wx.BoxSizer(wx.VERTICAL)
leftBox.Add(box1,1,myStyle,border=10)
leftBox.Add(box2,1,myStyle,border=10)
leftBox.Add(box3,1,myStyle,border=10)
#总BoxSizer
mainBox = wx.BoxSizer()
mainBox.Add(leftBox,1,myStyle,border=10)
mainBox.Add(btns[12],1,myStyle,border=10)
#在框架中设置mainBox
self.SetSizer(mainBox)
class MyApp(wx.App):
def OnInit(self):
self.SetAppName("testbox")
self.Frame = testBox()
self.Frame.Show()
return True
if __name__ == "__main__":
test = MyApp()
test.MainLoop()
wx.BoxSizer控件除了self之外,只有一个初始化参数,即orient,默认为wx.HORIZONTAL,即横向;如果输入wx.VERTICAL,则为纵向。
wx.BoxSizer通过Add方法装填控件,其常用的调用格式为:
Add (self, window, proportion=0, flag=0, border=0)
以上就是怎么实现一个wxpython布局,小编相信有部分知识点可能是我们日常工作会见到或用到的。希望你能通过这篇文章学到更多知识。更多详情敬请关注天达云行业资讯频道。