wxPython:布局管理器sizer介绍
2013-05-05 16:28
330 查看
source:http://www.cnblogs.com/dyx1024/archive/2012/07/15/2592202.html
知识点:
每个不同的sizer基于一套规则管理它的窗口的尺寸和位置。sizer属于一个容器窗口(比如wx.Panel)。在父中创建的子窗口必须被添加给sizer,sizer管理每个窗
口部件的尺寸和位置。
创建一个sizer的步骤:
创建你想用来自动调用尺寸的panel或container(容器)。
创建sizer。
创建你的子窗口。
使用sizer的Add()方法来将每个子窗口添加给sizer。
sizer可以嵌套,这意味你可以像窗口对象一样添加别的sizer到父sizer。
调用容器的SetSizer(sizer)方法。
最常用的wxPython的sizer:
wx.BoxSizer:在一条线上布局子窗口部件。wx.BoxSizer的布局方向可以是水平或坚直的,并且可以在水平或坚直方向上包含子sizer以创建复杂的布局。在项目被添加时传递给sizer的参数控制子窗口部件如何根据box的主体或垂直轴线作相应的尺寸调整。
wx.FlexGridSizer:一个固定的二维网格,它与wx.GridSizer的区别是,行和列根据所在行或列的最大元素分别被设置。
wx.GridSizer:一个固定的二维网格,其中的每个元素都有相同的尺寸。当创建一个grid sizer时,你要么固定行的数量,要么固定列的数量。项目被从左到右的添加,直到一行被填满,然后从下一行开始。
wx.GridBagSizer:一个固定的二维网格,基于wx.FlexGridSizer。允许项目被放置在网格上的特定点,也允许项目跨越多和网格区域。
wx.StaticBoxSizer:等同于wx.BoxSizer,只是在box周围多了一个附加的边框(有一个可选的标签)。
wx.Sizer的方法:
Add(size, proportion=0,flag=0, border=0,userData=None):第一个添加一个wxWindow,第二个添加一个嵌套的sizer,第三个添加空的空间,用作分隔符。参数proportion管理窗口总尺寸,它是相对于别的窗口的改变而言的,它只对wx.BoxSizer有意义。参数flag是一个位图,针对对齐、边框位置,增长有许多不同的标志。参数border是窗口或sizer周围以像素为单位的空间总量。userData使你能够将对象与数据关联,例如,在一个子类中,可能需要更多的用于尺寸的信息。
Fit(window)
FitInside(window ):调整window尺寸以匹配sizer认为所需要的最小化尺寸。这个参数的值通常是使用sizer的窗口。FitInside()是一个类似的方法,只不过将改变窗口在屏幕上的显示替换为只改变它的内部实现。它用于scroll panel中的窗口以触发滚动栏的显示。
GetSize():以wx.Size对象的形式返回sizer的尺寸。
GetPosition():以wx.Point对象的形式返回sizer的位置。
GetMinSize():以wx.Size对象的形式返回完全填充sizer所需的最小尺寸。
Layout():强迫sizer去重新计算它的孩子的尺寸和位置。在动态地添加或删除了一个孩子之后调用。
Prepend(...):与Add()相同(只是为了布局的目的,把新的对象放在sizer列表的开头)。
Remove(window)
Remove(sizer)
Remove(nth):从sizer中删除一个对象。
SetDimension(x, y, width,height):强迫sizer按照给定的参数重新定位它的所有孩子。
知识点:
每个不同的sizer基于一套规则管理它的窗口的尺寸和位置。sizer属于一个容器窗口(比如wx.Panel)。在父中创建的子窗口必须被添加给sizer,sizer管理每个窗
口部件的尺寸和位置。
创建一个sizer的步骤:
创建你想用来自动调用尺寸的panel或container(容器)。
创建sizer。
创建你的子窗口。
使用sizer的Add()方法来将每个子窗口添加给sizer。
sizer可以嵌套,这意味你可以像窗口对象一样添加别的sizer到父sizer。
调用容器的SetSizer(sizer)方法。
最常用的wxPython的sizer:
wx.BoxSizer:在一条线上布局子窗口部件。wx.BoxSizer的布局方向可以是水平或坚直的,并且可以在水平或坚直方向上包含子sizer以创建复杂的布局。在项目被添加时传递给sizer的参数控制子窗口部件如何根据box的主体或垂直轴线作相应的尺寸调整。
wx.FlexGridSizer:一个固定的二维网格,它与wx.GridSizer的区别是,行和列根据所在行或列的最大元素分别被设置。
wx.GridSizer:一个固定的二维网格,其中的每个元素都有相同的尺寸。当创建一个grid sizer时,你要么固定行的数量,要么固定列的数量。项目被从左到右的添加,直到一行被填满,然后从下一行开始。
wx.GridBagSizer:一个固定的二维网格,基于wx.FlexGridSizer。允许项目被放置在网格上的特定点,也允许项目跨越多和网格区域。
wx.StaticBoxSizer:等同于wx.BoxSizer,只是在box周围多了一个附加的边框(有一个可选的标签)。
wx.Sizer的方法:
Add(size, proportion=0,flag=0, border=0,userData=None):第一个添加一个wxWindow,第二个添加一个嵌套的sizer,第三个添加空的空间,用作分隔符。参数proportion管理窗口总尺寸,它是相对于别的窗口的改变而言的,它只对wx.BoxSizer有意义。参数flag是一个位图,针对对齐、边框位置,增长有许多不同的标志。参数border是窗口或sizer周围以像素为单位的空间总量。userData使你能够将对象与数据关联,例如,在一个子类中,可能需要更多的用于尺寸的信息。
Fit(window)
FitInside(window ):调整window尺寸以匹配sizer认为所需要的最小化尺寸。这个参数的值通常是使用sizer的窗口。FitInside()是一个类似的方法,只不过将改变窗口在屏幕上的显示替换为只改变它的内部实现。它用于scroll panel中的窗口以触发滚动栏的显示。
GetSize():以wx.Size对象的形式返回sizer的尺寸。
GetPosition():以wx.Point对象的形式返回sizer的位置。
GetMinSize():以wx.Size对象的形式返回完全填充sizer所需的最小尺寸。
Layout():强迫sizer去重新计算它的孩子的尺寸和位置。在动态地添加或删除了一个孩子之后调用。
Prepend(...):与Add()相同(只是为了布局的目的,把新的对象放在sizer列表的开头)。
Remove(window)
Remove(sizer)
Remove(nth):从sizer中删除一个对象。
SetDimension(x, y, width,height):强迫sizer按照给定的参数重新定位它的所有孩子。
相关文章推荐
- wxPython:布局管理器sizer介绍
- wxPython:布局管理器sizer介绍
- Android布局管理器的介绍与使用
- 黑马程序员——GUI图形用户界面,几种布局管理器介绍
- 黑马程序员_温习 GUI图形用户接口一 (个人笔记)摘要(GUI图形用户界面介绍-----布局管理器-----事件监听机制-----窗体事件---Action(执行事件)----鼠标事件----键
- 黑马程序员:GUI介绍:布局管理器、Frame、事件监听机制、Action事件、鼠标键盘事件、菜单、jar包的双击执行
- wxPython:布局管理器
- wxpython窗口布局神器sizer
- swing学习一(swing介绍、swing样例、布局管理器)
- Java AWT 布局管理器简单介绍
- 图形用户界面(gui)、swing组件介绍、三大常用布局管理器、面板
- 三、Android学习第三天——Activity的布局初步介绍(转)
- Qt学习之七:布局管理器
- Stoned Bootkit v2学习笔记之infector(友情赠送SBv2磁盘布局介绍)
- 绝对定位布局管理器(AbsoluteLayout)此布局管理器已被废除
- Android百分比布局支持库介绍——com.android.support:percent(转)
- Java图形化界面设计——布局管理器之FlowLayout(流式布局)
- 介绍LayoutParams并且简单代码实现xml布局效果
- Android布局中Layout_weight属性详细介绍
- android 布局特殊的属性介绍