wxpython嵌套panel布局的一个问题
最近在学习使用wxpython,想通过panel来分出不同的区块来进行单独布局
却发现,当我在panel中嵌套了一个panel,在这个嵌套的panel中使用boxsizer进行布局没有效果
代码如下:
import wx
app = wx.App()
frame = wx.Frame(None,wx.ID_ANY, 'simple.py')
panel = wx.Panel(frame,wx.ID_ANY)
boxsizer = wx.BoxSizer(wx.VERTICAL)
panel.SetSizer(boxsizer)
button1 = wx.Button(panel,wx.ID_ANY,'aaaaa')
button2 = wx.Button(panel,wx.ID_ANY,'bbbbb')
boxsizer.Add(button1)
boxsizer.Add(button2)
panel2 = wx.Panel(panel,wx.ID_ANY,style=wx.BORDER_DOUBLE,size = wx.Size(300,300))
panel2.SetBackgroundColour('#00ff00')
boxsizer.Add(panel2)boxsizer2 = wx.BoxSizer(wx.VERTICAL)
panel2.SetSizer(boxsizer)
button3 = wx.Button(panel2,wx.ID_ANY,'ccccc')
button4 = wx.Button(panel2,wx.ID_ANY,'ddddd')
boxsizer2.Add(button3)
boxsizer2.Add(button4)frame.Show()
app.MainLoop()
运行结果:
发现按钮 C 覆盖在了按钮 D的上方,如果布局起作用的话,按钮 D 应该在 B 的下方才对
这说明了wxpython在嵌套panel里的布局是没有效果的
但是自己又希望在这个嵌套的panel里有新的布局,该怎么做呢,我想到的办法是使用绝对布局:
import wx
app = wx.App()
frame = wx.Frame(None,wx.ID_ANY, 'simple.py')
panel = wx.Panel(frame,wx.ID_ANY)
boxsizer = wx.BoxSizer(wx.VERTICAL)
panel.SetSizer(boxsizer)
button1 = wx.Button(panel,wx.ID_ANY,'aaaaa')
button2 = wx.Button(panel,wx.ID_ANY,'bbbbb')
boxsizer.Add(button1)
boxsizer.Add(button2)panel2 = wx.Panel(panel,wx.ID_ANY,style=wx.BORDER_DOUBLE,size = wx.Size(300,300))
panel2.SetBackgroundColour('#00ff00')
boxsizer.Add(panel2)
button3 = wx.Button(panel2,wx.ID_ANY,'ccccc')
button4 = wx.Button(panel2,wx.ID_ANY,'ddddd',pos = wx.Point(0,30))frame.Show()
app.MainLoop()
运行结果如下:
这样 D 按钮就在 C的下方了
当然这个方法暂时能解决嵌套布局的一个问题,如果有其他更好的方法也希望能与大家进行交流
wxpython嵌套panel布局的一个问题相关推荐
- wxpython界面切换_Python图形界面—wxPython库的布局管理及页面切换
原标题:Python图形界面-wxPython库的布局管理及页面切换 前言 wxPython是基于Python的跨平台GUI扩展库,对wxWidgets( C++ 编写)封装实现.GUI程序的开发中界 ...
- wxpython界面切换_Python图形界面开发—wxPython库的布局管理及页面切换
前言 wxPython是基于Python的跨平台GUI扩展库,对wxWidgets( C++ 编写)封装实现.GUI程序的开发中界面布局是很重要的一个部分,合理的页面布局能够给予用户良好使用体验.虽然 ...
- python图形界面开发库_Python图形界面开发—wxPython库的布局管理及页面切换
前言 wxPython是基于Python的跨平台GUI扩展库,对wxWidgets( C++ 编写)封装实现.GUI程序的开发中界面布局是很重要的一个部分,合理的页面布局能够给予用户良好使用体验.虽然 ...
- 【Android 性能优化】布局渲染优化 ( CPU 渲染优化 | 减少布局的嵌套 | 测量布局绘制时间 | OnFrameMetricsAvailableListener | 布局渲染优化总结 )
文章目录 一. 减少布局嵌套 二. 布局渲染时间测量 1. FrameMetrics 使用流程 2. FrameMetrics 参数解析 3. FrameMetrics 代码示例 三. 布局渲染优化总 ...
- Android studio 在线性布局下嵌套相对布局
Android studio 新建一个项目,修改XML如下: 项目Activity名称为:MyRelativeLayout <?xml version="1.0" encod ...
- 结合HTML5的语义化标签,运用DIV+CSS网页布局技术设计一个个人博客页面
** CSS+DIV页面布局 ** 结合HTML5的语义化标签,运用DIV+CSS网页布局技术设计一个个人博客页面.要求: (1)header标签定义页面头部区:nav标签定义导航区:div标签定义中 ...
- iOS开发UI篇—使用嵌套模型完成的一个简单汽车图标展示程序
iOS开发UI篇-使用嵌套模型完成的一个简单汽车图标展示程序 一.plist文件和项目结构图 说明:这是一个嵌套模型的示例 二.代码示例: YYcarsgroup.h文件代码: 1 //2 // YY ...
- bootstrap panel 布局
panel 1. 效果 2. 基于bootstrap实现 用于页面分专栏展示 1. 效果 成品 2. 基于bootstrap实现 <!DOCTYPE html> <html>& ...
- css响应式布局_用 CSS Grid 布局制作一个响应式柱状图
最新一段时间比较喜欢玩弄图表,出于好奇,我想找出比较好的用 CSS 制作图表的方案.开始学习网上开源图表库,它对我学习新的和不熟悉的前端技术很有帮助,比如这个:CSS Grid. 今天和大家分享我学到 ...
最新文章
- 【Android架构师java原理详解】二;反射原理及动态代理模式
- 基于mindspore的口罩检测训练与在线推理
- 在java继承机制中 父类中的私有_Java中子类能继承父类的私有属性吗?
- 在3D场景中显示汉字
- 一文理解 pytorch 拟合网络的过程
- 《Python核心编程》18.多线程编程(二)
- 通过Spring @PostConstruct 和 @PreDestroy 方法 实现初始化和销毁bean之前进行的操作
- 2020年黑龙江省水稻种植分布数据
- 缺失索引自动创建语句
- 转义字符 \r \v \f
- 记vscode配置踩坑经过
- 午芯高科WXP380气压传感器
- 华为认证HCIA-Datacom知识点
- 计算机科学计算矩阵答案,计算机科学计算答案.doc
- STM32输出PWM波形并实现呼吸灯
- 口语语汇单词篇(5)
- 实体转xml(史上最全面)
- SNTP获取时间源统一时间
- LC谐振电路跟和LC振荡电路
- Kindling the Darkness: A Practical Low-light Image Enhancer