python的GUI编程--wxpython学习(三)两个布局
来源:互联网 发布:手机游戏编程培训 编辑:程序博客网 时间:2024/05/20 22:02
wxpython布局其实就两个,表格布局和线性布局,对应android的是GridLayout和LinearLayout,所以对于android来说,表格布局可以指定行列,行列缩放,行列合并;线性布局需要指定方向。那么迁移到wxpython需要指定的属性其实也是一样一样的,下面会简单介绍。
声明
mGridSizer = wx.GridSizer(2, 2) mFlexGridSizer = wx.FlexGridSizer(2, 2) mGridBagSizer = wx.GridBagSizer(2,2) mBoxSizer = wx.BoxSizer(orient=wx.VERTICAL)
声明一个布局方式,然后调用布局.Add(空间名)方法,把控件添加到布局上。
mGridSizer.Add(wx.Button(parent=mPanel,label=u'测试按钮'))
最后再把布局和父控件绑定在一起,我这里是Panel,用set方法
mPanel = wx.Panel(parent=self)mPanel.SetSizer(mSizer)mPanel.Fit()
基本步骤就是这些了,下面说说GridSizer,FlexGridSizer,GridBagSizer和BoxSizer这些部分的差异性。
表格布局
GridSizer,FlexGridSizer,GridBagSizer是继承关系,源码看的出。GridBagSizer是继承了上面两个的子类。
GridSizer,就是表格布局,指定行列,然后Add
FlexGridSizer,表格布局+允许设置行列比例
GridBagSizer,表格布局+允许设置行列比例+合并行列+指定位置
一般而言,用GridBagSizer居多,所以用GridBagSizer作例子吧。
mGridBagSizer = wx.GridBagSizer(2,2) mGridBagSizer.Add(wx.Button(parent=mPanel,label=u'fill col'),span=(1,2),pos=(0,0),flag=wx.EXPAND) mGridBagSizer.Add(wx.Button(parent=mPanel,label=u'left col'),pos=(1,0),flag=wx.EXPAND) mGridBagSizer.Add(wx.Button(parent=mPanel,label=u'roght col'),pos=(1,1),flag=wx.EXPAND)
运行结果:
span属性指定了添加进去的控件应该占领多少行列,这里是我要它占领一行两列。
pos属性指定占领哪个格子的内容
flag标志位,表示拉伸满当前你占领的控件内,不指定只是显示你控件的默认大小
线性布局
这个最简单了,声明的时候指定orient方向就行了,然后Add进去
mBoxSizer = wx.BoxSizer(orient=wx.VERTICAL)mBoxSizer.Add(wx.Button(parent=mPanel,label=u'line one'),flag=wx.EXPAND,proportion=wx.EXPAND) mBoxSizer.Add(wx.Button(parent=mPanel,label=u'line two'),flag=wx.EXPAND,proportion=wx.EXPAND)mBoxSizer.Add(wx.Button(parent=mPanel,label=u'line three'),flag=wx.EXPAND,proportion=wx.EXPAND)
proportion指定orient方向的拉升,flag是非orient方向的拉升。
0 0
- python的GUI编程--wxpython学习(三)两个布局
- python图形界面GUI编程之wxpython布局
- wxpython的gui布局问题
- python的GUI编程--wxpython学习(一)--安装和原理步骤
- python的GUI编程--wxpython学习(二)--基本控件和事件
- python图形界面GUI编程之wxpython安装
- python的GUI编程--wxpython学习(四)-->练习:一个自动测试app启动时间的小工具
- python的GUI的运用(wxpython)
- Python GUI 使用之wxpython的安装
- python GUI库wxPython
- python GUI之wxPython
- Python中的GUI : wxPython
- GUI库wxPython学习
- python GUI编程——wxpython编写简单记事本程序
- PYTHON GUI模块之WXPYTHON
- Python GUI 开发工具: wxPython
- Python的GUI开发:小试wxPython(上)
- wxpython实现图灵机器人的GUI-Python
- java入门、java学习、java教程:Java程序员需要注意的五大Docker误区
- SVG格式转PDF(java实现)
- Android OKHttp
- 关于c++中的const
- 最近发现一个学五十音图的公众号,给大家推荐一下
- python的GUI编程--wxpython学习(三)两个布局
- UVA1218 Perfect Service
- Swift - 使用NSUserDefaults来进行本地数据存储
- 底包和基带是什么?刷机前有必要先刷它们吗?
- java学习笔记之char与byte的区别
- 剑指offer(五十五)之表示数值的字符串
- 关于闭包
- 第一章 简介和TCP/IP
- Android Studio自定义模板 写页面竟然可以如此轻松