原创作者: purpen
阅读:2053次
评论:0条
更新时间:2011-06-01
3. wx.GridBagSizer()该类是wx.FlexGridSizer()的子类,它具有其父类的方法与属性,当然,它使用时比其父类更简单了。它不需要指定特定的行数与列数,完整根据它所管理的构件设置具体而定的。
原型:
实例3:
Note: 实例3中就表示形成了一个三行四列的虚拟表格(如果再添加一个gbs.Add(item, (4, 6), (1, 1) ....)那么它就是五行七列的).AddGrowableRow()与AddGrowable()表示指定的idx行或指定的idx列伸缩.
4. wx.StaticBoxSizer() 此使用方法与wx.BoxSizer()基本相同,就不多说。
(原型: http://www.wxpython.org/docs/api/wx.StaticBoxSizer-class.html)
总结: wxPython进行布局定位,我现在就学习了这四种方法,至于其他的方法,以后学习了再补充完整。在实际的运用中,不能单靠某一种方法,往往是多种方法配合使用,才能发挥所长,使代码更简洁,界面更美观等等.以上纯属个人观点,有些说法或写法不准确之处,还望指教,多谢!
原型:
- #构造函数
- __init__(self, vgap=0, hgap=0)
- (Constructor)
- Constructor, with optional parameters to specify the gap between the rows and columns.
- Parameters:
- vgap
- (type=int)
- hgap
- (type=int)
- #添加单个构件到boxsizer
- # pos 表示的单元格的点(cell position可以看做是坐标)
- # span 表示的单个或合并的单元格
- Add(self, item, pos, span=DefaultSpan, flag=0, border=0, userData=None)
- Adds an item to the sizer at the grid cell pos, optionally spanning more than one row or column as specified with span. The remaining args behave similarly to wx.Sizer.Add.
- Returns True if the item was successfully placed at the given cell position, False if something was already there.
- Parameters:
- pos
- (type=GBPosition)
- span
- (type=GBSpan)
- flag
- (type=int)
- border
- (type=int)
- .
- .
- .
- (原文: http://www.wxpython.org/docs/api/wx.GridBagSizer-class.html)
实例3:
- def __init__(self, parent):
- wx.Panel.__init__(self, parent, -1, wx.DefaultPosition, wx.DefaultSize)
- wred = wx.TextCtrl(self, wx.NewId(), 'red')
- wwhite = wx.TextCtrl(self, wx.NewId(), 'white')
- wblue = wx.TextCtrl(self, wx.NewId())
- wcyan = wx.TextCtrl(self, wx.NewId())
- vgap, hgap = 10, 20
- gbs = wx.GridBagSizer(vgap, hgap)
- b = 0
- # Add(self, item, pos, span=DefaultSpan, flag=0, border=0, userData=None)
- # pos (type=GBPosition) cell position
- # span(type=GBSPan)
- gbs.Add(wred, (1, 1), (1, 1), wx.EXPAND | wx.ALL, b)
- gbs.Add(wwhite, (2, 3), (1, 1), wx.EXPAND | wx.ALL, b)
- gbs.Add(wblue, (1, 0), (1, 1), wx.EXPAND | wx.ALL, b)
- gbs.Add(wcyan, (0, 0), (1, 1), wx.EXPAND | wx.ALL, b)
- gbs.AddGrowableRow(0) # 0/1/2...表示的行号或列号
- gbs.AddGrowableRow(1)
- gbs.AddGrowableRow(2)
- gbs.AddGrowableCol(0)
- gbs.AddGrowableCol(1)
- gbs.AddGrowableCol(3)
- self.SetSizer(gbs)
Note: 实例3中就表示形成了一个三行四列的虚拟表格(如果再添加一个gbs.Add(item, (4, 6), (1, 1) ....)那么它就是五行七列的).AddGrowableRow()与AddGrowable()表示指定的idx行或指定的idx列伸缩.
4. wx.StaticBoxSizer() 此使用方法与wx.BoxSizer()基本相同,就不多说。
(原型: http://www.wxpython.org/docs/api/wx.StaticBoxSizer-class.html)
总结: wxPython进行布局定位,我现在就学习了这四种方法,至于其他的方法,以后学习了再补充完整。在实际的运用中,不能单靠某一种方法,往往是多种方法配合使用,才能发挥所长,使代码更简洁,界面更美观等等.以上纯属个人观点,有些说法或写法不准确之处,还望指教,多谢!
评论 共 0 条 请登录后发表评论