wxPython窗体拆分布局基础组件


Posted in Python onNovember 19, 2019

本文实例为大家分享了wxPython窗体拆分布局的具体代码,供大家参考,具体内容如下

BoxSizer 布局管理

参数说明:

orient:wx.VERTICAL(垂直方向) 或 wx.HORIZONTAL(水平方向)

proportion:控件在方向上所占空间的相对于其他组件比例,
porportion=0,表示保持本身大小;
porportion=1,表示在水平方向上占三分之一的空间;
porportion=2,表示在水平方向上占三分之二的空间。

flag: wx.TOP | wx.BOTTOM | wx.LEFT | wx.RIGHT | wx.ALL |
wx.EXPAND(自动填充)

#-*- coding:utf-8 -*-
import wx
from wx._core import BoxSizer, GridSizer
from wx.lib.splitter import MultiSplitterWindow, MultiSplitterEvent
from wx.lib.agw.fourwaysplitter import FourWaySplitter
 
 
class ProxyFrame(wx.ScrolledWindow):
 def __init__(self, parent):
  wx.ScrolledWindow.__init__(self, parent)
  self.createWidget()
 
 def createWidget(self):
  self.proxy_split_mult = wx.SplitterWindow(self, style=wx.SP_LIVE_UPDATE, size=(800, 450))
  self.proxy_split_mult.SetMinimumPaneSize(10) #最小面板大小
 
  self.proxy_split_top = wx.SplitterWindow(self.proxy_split_mult) #上结构
  self.proxy_split_bottom = wx.SplitterWindow(self.proxy_split_mult) #下结构
 
  ########## 结构上左右 ##########
  self.proxy_scrol_leftTop = wx.ScrolledWindow(self.proxy_split_top)
  self.proxy_scrol_leftTop.SetBackgroundColour(wx.WHITE)
  self.proxy_scrol_leftTop.SetScrollbars(10, 10, 400, 300)
  self.proxy_scrol_leftTop.SetAutoLayout(1)
 
  self.proxy_scrol_rightTop = wx.ScrolledWindow(self.proxy_split_top)
  self.proxy_scrol_rightTop.SetBackgroundColour(wx.BLACK)
 
  self.proxy_split_top.SetMinimumPaneSize(10) #最小面板大小
  self.proxy_split_top.SplitVertically(self.proxy_scrol_leftTop, self.proxy_scrol_rightTop) #分割面板
  self.proxy_split_top.SetSashGravity(0.5)
  ########## 结构上左右 end ##########
 
  ########## 结构下左右 ##########
  self.proxy_scrol_leftBottom = wx.ScrolledWindow(self.proxy_split_bottom)
  self.proxy_scrol_leftBottom.SetBackgroundColour(wx.WHITE)
  self.proxy_scrol_rightBottom = wx.ScrolledWindow(self.proxy_split_bottom)
  self.proxy_scrol_rightBottom.SetBackgroundColour(wx.BLACK)
 
  self.proxy_split_bottom.SetMinimumPaneSize(10) #最小面板大小
  self.proxy_split_bottom.SplitVertically(self.proxy_scrol_leftBottom, self.proxy_scrol_rightBottom) #分割面板
  self.proxy_split_bottom.SetSashGravity(0.5)
  ########## 结构下左右 end ##########
 
  self.proxy_split_mult.SplitHorizontally(self.proxy_split_top, self.proxy_split_bottom) #分割面板
  self.proxy_split_mult.SetSashGravity(0.5)
 
  self.SetScrollbars(10, 10, 400, 300)
  sizer = wx.BoxSizer(wx.HORIZONTAL)
  sizer.Add(self.proxy_split_mult, 1, flag=wx.EXPAND) #自动缩放
  self.SetSizer(sizer)
 
 
class MainFrame(wx.Frame):
 def __init__(self):
  wx.Frame.__init__(self, None, -1, "My Frame", size=(800, 450))
  self.createWidget()
 
 def createWidget(self):
  ########## 窗体底部状态栏 ##########
  self.statusbar = self.CreateStatusBar(2, wx.ST_SIZEGRIP)
  self.statusbar.SetStatusText("", 0)
  self.statusbar.SetStatusText("", 1)
 
  ########## HTTP代理书签页 ##########
  self.createProxyWidget()
 
 
 #HTTP代理书签页
 def createProxyWidget(self):
  self.proxy_nb = wx.Notebook(self, -1, name="proxy_nb")
  self.proxyFrame = ProxyFrame(self.proxy_nb)
  self.proxy_nb.AddPage(self.proxyFrame, u"HTTP代理")
 
 
def main():
 #设置了主窗口的初始大小960x540 800x450 640x360
 root = wx.App()
 frame = MainFrame()
 frame.Show(True)
 root.MainLoop()
 
 
if __name__ == "__main__":
 main()

wxPython窗体拆分布局基础组件

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
浅析python 内置字符串处理函数的使用方法
Jun 11 Python
Python 编码Basic Auth使用方法简单实例
May 25 Python
Tensorflow实现AlexNet卷积神经网络及运算时间评测
May 24 Python
在python中pandas读文件,有中文字符的方法
Dec 12 Python
对python requests发送json格式数据的实例详解
Dec 19 Python
python利用Opencv实现人脸识别功能
Apr 25 Python
Python中 CSV格式清洗与转换的实例代码
Aug 29 Python
Python数学形态学实例分析
Sep 06 Python
Python中使用socks5设置全局代理的方法示例
Apr 15 Python
Python Celery异步任务队列使用方法解析
Aug 10 Python
python中字典增加和删除使用方法
Sep 30 Python
Matplotlib可视化之添加让统计图变得简单易懂的注释
Jun 11 Python
Python解压 rar、zip、tar文件的方法
Nov 19 #Python
Ubuntu下Python+Flask分分钟搭建自己的服务器教程
Nov 19 #Python
使用批处理脚本自动生成并上传NuGet包(操作方法)
Nov 19 #Python
python flask搭建web应用教程
Nov 19 #Python
在Python中使用MySQL--PyMySQL的基本使用方法
Nov 19 #Python
Python可变参数会自动填充前面的默认同名参数实例
Nov 18 #Python
python tornado修改log输出方式
Nov 18 #Python
You might like
PHP配置心得包含MYSQL5乱码解决
2006/11/20 PHP
分享一个超好用的php header下载函数
2014/01/31 PHP
深入理解PHP内核(二)之SAPI探究
2015/11/10 PHP
PHP数据库操作Helper类完整实例
2016/05/11 PHP
thinkphp3.2.3 分页代码分享
2016/07/28 PHP
PHP-FPM运行状态的实时查看及监控详解
2016/11/18 PHP
使用TextRange获取输入框中光标的位置的代码
2007/03/08 Javascript
用js实现预览待上传的本地图片
2007/03/15 Javascript
让GoogleCode的SVN下的HTML文件在FireFox下正常显示.
2009/05/25 Javascript
遨游,飞飞,IE,空中网 浏览器无提示关闭方法
2011/07/11 Javascript
JavaScript原型继承之基础机制分析
2011/08/26 Javascript
JS实现动态生成表格并提交表格数据向后端
2020/11/25 Javascript
转换layUI的数据表格中的日期格式方法
2019/09/19 Javascript
对Tensorflow中的矩阵运算函数详解
2018/07/27 Python
python使用celery实现异步任务执行的例子
2019/08/28 Python
python3 配置logging日志类的操作
2020/04/08 Python
Python如何获取文件指定行的内容
2020/05/27 Python
如何在python中判断变量的类型
2020/07/29 Python
一篇文章带你搞定Ubuntu中打开Pycharm总是卡顿崩溃
2020/11/02 Python
size?德国官方网站:英国伦敦的球鞋精品店
2018/03/17 全球购物
德国旅游网站:weg.de
2018/06/03 全球购物
中东奢侈品购物网站:Ounass
2020/09/02 全球购物
应届生护士求职信
2013/11/01 职场文书
医药销售求职信范文
2014/02/01 职场文书
高三家长寄语
2014/04/03 职场文书
美术学专业求职信
2014/07/23 职场文书
身边的榜样活动方案
2014/08/20 职场文书
小区门卫岗位职责范本
2014/08/24 职场文书
教师见习报告范文
2014/11/03 职场文书
2014年初级职称工作总结
2014/12/08 职场文书
打架检讨书
2015/01/27 职场文书
公司处罚决定书
2015/06/24 职场文书
汽车销售员工作总结
2015/08/12 职场文书
MySQL库表名大小写的选择
2021/06/05 MySQL
基于CSS制作创意端午节专属加载特效
2022/06/01 HTML / CSS
mysqldump进行数据备份详解
2022/07/15 MySQL