布局管理器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 ...
随机推荐
- Coursera Programming Languages, Part B 华盛顿大学 Week 2
Datatype-programming in Racket without structs 在 ML 语言中,我们使用 datatype binding 来实现对 标签联合类型的构建:传送门 这是因 ...
- Windows MFC HTTP 函数流程
Windows MFC HTTP 函数流程 1 //建立连接 2 pInternetSession = new CInternetSession(AfxGetAppName()); 3 4 5 6 / ...
- 二叉树系列之Treap树
Treap是一棵拥有键值.优先级两种权值的树 struct node{ int size;//以这个结点为根的子树的结点总数量,用于名次树 int rank;//优先级 int key ...
- DML操作数据
添加数据 insert into 表名(列的名称)(数据);ps:列的名称用` `包围可以减少出错 添加全部数据的时候可以把列的名称省略: 修改数据 update 表名 set 列名=数据,列名= ...
- What is the Best Python IDE for Data Science?
Created by Guido van Rossum, Python was first released back in 1991. The interpreted high-level prog ...
- 面向对象2(Java)
封装 基本介绍 该露的露,该藏的藏,我们的程序设计要追求"高内聚,低耦合": 高内聚:类的内部数据操作细节自己完成,不允许外部干涉 低耦合:仅暴露少量的方法给外部使用 封装(数据的 ...
- 网页元素间距测量(better rule插件的使用)
我们在测试UI界面的时候,需要测量各元素大小及元素之间的距离.元素大小,使用F12可以简易的得到数据,但是元素的间距相对来说会比较复杂.这里推荐一款chrome插件better rule,帮助大家测量 ...
- python3GUI--实用!B站视频下载工具(附源码)
目录 一.准备工作 二.预览 1.启动 2.解析 3.下载中 4.下载完成 5.结果 三.设计流程 1.bilibili_video_spider 2.视频json的查找 四.源代码 1.Bilibi ...
- mysql 循环 例子
mysql 循环生成数据demo: DROP PROCEDURE IF EXISTS test_insert; DELIMITER;; CREATE PROCEDURE test_insert() B ...
- Zookeeper分布式服务
Zookeeper(CP) 以集群的方式[leader和follower]为分布式应用提供协调服务.负责存储和管理大家都关系的数据,接受观察者注册.消息分发等服务 特点: 只要有半数以上的节点存活就能 ...