布局管理器wx.BoxSizer
b = wx.BoxSizer( wx.VERTICAL )
b.Add(self.notebook1, 1, wx.EXPAND)
self.parent.SetSizer(b)
解析以上代码原理,说明布局管理器的作用:
以上代码主要是用来为 GUI 界面添加一个 wx.Notebook 控件,并将其放置于一个 wx.BoxSizer 布局管理器中,以便在窗口大小改变时进行自动布局。下面对代码进行一步步的解析:
- 创建一个
wx.BoxSizer对象
首先,我们创建了一个名为 b 的 wx.BoxSizer 布局管理器对象:
b = wx.BoxSizer( wx.VERTICAL )
在上面的代码中,我们通过指定参数 wx.VERTICAL 来创建一个垂直方向的 wx.BoxSizer 对象。
- 添加
wx.Notebook控件到布局管理器中
接下来,我们将 wx.Notebook 控件添加到布局管理器 b 中,调用了 b.Add() 方法:
b.Add(self.notebook1, 1, wx.EXPAND)
在上面的代码中,我们将 self.notebook1 这个 wx.Notebook 控件添加到了布局管理器中,并指定了两个参数:
- 第一个参数:需要添加到布局管理器中的控件,即
self.notebook1。 - 第二个参数:控件占据的比例,即在布局管理器中所占据的空间百分比。在这里,我们使用了参数值
1,表示这个wx.Notebook控件在布局管理器中占据全部空间。 - 第三个参数:控件的布局方式。在这里,我们使用了参数值
wx.EXPAND,表示当窗口大小改变时,这个wx.Notebook控件应该填满整个布局管理器。
- 将布局管理器设置为窗口的 sizer
最后,我们使用 SetSizer() 方法将布局管理器 b 设置为窗口的 sizer,从而使 wx.Notebook 控件和其他控件能够正确地自动布局:
self.parent.SetSizer(b)
在上面的代码中,我们将 b 布局管理器对象设置为窗口的 sizer,其中 self.parent 可以理解为当前控件的父级,即窗口。
综上所述,以上代码的作用是:创建一个 wx.BoxSizer 布局管理器对象,将一个 wx.Notebook 控件添加到布局管理器中,并将布局管理器设置为窗口的 sizer,以便在窗口大小改变时进行自动布局。
布局管理器wx.BoxSizer的更多相关文章
- wxpython布局管理部件wx.gridbagsizer用法示例
text = ("This is text box") panel = wx.Panel(self, -1) chkAll1 = wx.CheckB ...
- Grid 布局管理器
Grid 布局管理器: Grid布局类wx.GridSizer,Grid布局以网格形式对子窗口或控件进行摆放,容器被分成大小相等的矩形,一个矩形中放置一个子窗口或控件. wx.GridSizer构造方 ...
- StaticBox布局管理器
wx.StaticBoxSizer构造方法如下: wx.StaticBoxSizer(box,orient = HORIZONTAL) box 是静态框对象,orient参数是布局方向 wx.HOR ...
- Swing布局管理器介绍
创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任.http://zhangjunhd.blog.51cto.com/113473/128174 当选 ...
- java基础 布局管理器
概念: 组建在容器(比如JFrame)中的位置和 大小 是由布局管理器来决定的.所有的容器都会使用一个布局管理器,通过它来自动进行组建的布局管理. 种类: java共提供了物种布局管理器:流式布局管理 ...
- JAVA GUI布局管理器
边界布局管理器: a.布局方式:是把整个容器划分为五个部分.东西南北中,南北要贯通,中间最大 (不仅是中间的范围最大,权利也最大)当周边不存在的时候中间会占领周边,当中间不存在的时候周边不能占据中间 ...
- Java Swing 第03记 布局管理器
几种Swing常用的布局管理器 BorderLaout 它将容器分为5个部分,即东.南.西.北.中,每一个区域可以容纳一个组件,使用的时候也是通过BorderLayout中5个方位常量来确定组件所在的 ...
- AWT布局管理器
布局管理器 容器内可以存放各种组件,而组件的位置和大小是由容器内的布局管理器来决定的.在AWT中为我们提供了以下5种布局管理器: ① FlowLayout 流式布局管理器 ② BorderLa ...
- SWT布局管理器
一.充满式布局管理器(FillLayout类) FillLayout类是最简单的布局类,它把组件摆放成一行或者一列,并强制组件大小一致.一般,组件的高度与最高的组件一致,宽度与最宽的组件相同.,它里面 ...
- Java——布局管理器
在Swing中使用的所有布局管理器都可以实现LayoutManager接口,在Swing中主要使用的5种布局管理器:FlowLayout.BorderLayout.GridLayout.CardLay ...
随机推荐
- HTTP相关知识学习
五层网络模型 应用层 包括HTTP,FTP... HTTP支持客户/服务器模式 简单快速有getpost方法 灵活,可以传输任意类型 无连接,每次连接只处理一个请求,收到应答就关闭 无状态,对于事物处 ...
- linux 第一节(基本命令)
RPM 红帽软件管理器,(源代码+安装规则打包) YUM 软件仓库yum源,打包了大量的软件. yum repolist all //列出所有仓库 ...
- git-开发常用命令
1.本地克隆代码 git clone http地址 2.查看所有分支 git branch -a remotes/origin开头 :远程分支 3.切换分支 git checkout 分支名 4.删除 ...
- 插件和依赖的区别以及Java web开发层次结构
一:插件和依赖的区别 依赖:运行时和开发时都需要用到的包,比如项目中需要一个包,就要添加一个依赖(数据库驱动,连接池,mybatis...),这个依赖在项目运行时也需要,因此在项目打包时需要把这些依赖 ...
- linux资源查看与监控命令
- 2月27日Android开发学习
App工程目录结构 App工程分为两个层次,第一个层次是项目,另一个层次是模块. 模块依附于项目,每个项目至少有一个模块.一般而言的"编译运行App",指的是运行某一模块,而非运行 ...
- BubbleSort,冒泡排序,C++非递归和递归实现
1 // g++ bubble_sort.cc -Wall -O3 && ./a.exe 2 3 4 #include <iostream> 5 #include < ...
- 十大经典排序之堆排序(C++实现)
堆排序 通过将无序表转化为堆,可以直接找到表中最大值或者最小值,然后将其提取出来,令剩余的记录再重建一个堆, 取出次大值或者次小值,如此反复执行就可以得到一个有序序列,此过程为堆排序. 思路: 1.创 ...
- openvas漏洞扫描:使用openvas时扫描漏洞时,报告中显示的数据与数据库数据不同
使用openvas设备进行漏洞扫描时,报告中的漏洞数量与readis数据库中查找到的漏洞数量不同 原因是,openvas的代码中默认在报告中显示的最小质量检测为70%.如图: 上图详细链接为:http ...
- Crypto入门 (七) Railfence (栏栅密码,正常型和W型)
前言: Crypto中分三类,分别是编码.古典密码.现代密码,栏栅密码属于古典密码中得特殊移位密码,密钥只有 一个k,表示栏栅得长度.所谓栏栅密码就是将要加密得明文分成k个一组,然后取每组得第一个字符 ...