2007-06-20
wxPython frame的布局详细解释(二)
关键字: wxPython BoxSizer FlexGridSizer GridBagSizer
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进行布局定位,我现在就学习了这四种方法,至于其他的方法,以后学习了再补充完整。在实际的运用中,不能单靠某一种方法,往往是多种方法配合使用,才能发挥所长,使代码更简洁,界面更美观等等.以上纯属个人观点,有些说法或写法不准确之处,还望指教,多谢!
发表评论
我的相册
谷歌音乐搜索
共 8 张
共 8 张
链接
- 荼蘼泡沫--李小北的博客
- jQuery中文入门教程
- jQuery API 文档
- visualjquery库
- json官方站点
- jQuery插件聚总
- jQuery 中文官方论坛
- Smarty在线手册
- ADODB在线中文手册
- 开源 PHP 开发框架 - FleaPHP
- jQuery中文社区
- flash 上传文件
- Perler
- Python民间组织
- Python的Zope/Phone
- YAML教程
- PyYAML 文档
- phpunit(单元测试)
- jquery menu
- Caja项目
- Caja-wiki
- erlang 中文社区
- Ria技术
- 视觉社区
- Try To Remember
- wind-bell
- lihaiyan
最新评论
-
windowsXP下配置apache+p ...
我按照你的配置不能运行,然后我又加上了以下几句就OK了SetHandler pe ...
-- by chmod777 -
ubuntu +mplayer+ffmpeg+ ...
转换成功了吗。想知道结果。
-- by hanting99 -
javascript定义类或对象之 ...
:( 8) :oops: :roll:&nb ...
-- by baishou520 -
今日发现
貌似你上学的时候没有学习过数据库这门必修课!!!
-- by xzh_endless -
javascript中setTimeout ...
asdf
-- by wuqi123321







评论排行榜