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字典排序实例详解
May 20 Python
python数据结构之图深度优先和广度优先实例详解
Jul 08 Python
Python检测网站链接是否已存在
Apr 07 Python
python利用百度AI实现文字识别功能
Nov 27 Python
Python3简单实现串口通信的方法
Jun 12 Python
python 实现12bit灰度图像映射到8bit显示的方法
Jul 08 Python
Django中celery执行任务结果的保存方法
Jul 12 Python
Python编写打字训练小程序
Sep 26 Python
jupyter notebook运行命令显示[*](解决办法)
May 18 Python
python如何实现读取并显示图片(不需要图形界面)
Jul 08 Python
推荐技术人员一款Python开源库(造数据神器)
Jul 08 Python
python爬虫中抓取指数的实例讲解
Dec 01 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木马攻击防御之道
2008/03/24 PHP
php UTF-8、Unicode和BOM问题
2010/05/18 PHP
PHP获取和操作配置文件php.ini的几个函数介绍
2013/06/24 PHP
php中json_encode处理gbk与gb2312中文乱码问题的解决方法
2014/07/10 PHP
php支付宝接口用法分析
2015/01/04 PHP
php版阿里大于(阿里大鱼)短信发送实例详解
2016/11/30 PHP
php插件Xajax使用方法详解
2017/08/31 PHP
getComputedStyle与currentStyle获取样式(style/class)
2013/03/19 Javascript
100个不能错过的实用JS自定义函数
2014/03/05 Javascript
javascript实现信息增删改查的方法
2015/07/25 Javascript
简单实现限制uploadify上传个数
2015/11/16 Javascript
详解AngularJS如何实现跨域请求
2016/08/22 Javascript
原生js轮播特效
2017/05/18 Javascript
Jquery+Ajax+xml实现中国地区选择三级联动菜单效果(推荐)
2017/06/09 jQuery
原生js实现密码输入框值的显示隐藏
2017/07/17 Javascript
HTML+JavaScript实现扫雷小游戏
2019/09/30 Javascript
vue的路由映射问题及解决方案
2019/10/14 Javascript
微信小程序request请求封装,验签代码实例
2019/12/04 Javascript
解决vue2中使用elementUi打包报错的问题
2020/09/22 Javascript
[49:41]NB vs NAVI Supermajor小组赛A组 BO3 第一场 6.2
2018/06/03 DOTA
django开发之settings.py中变量的全局引用详解
2017/03/29 Python
python使用代理ip访问网站的实例
2018/05/07 Python
使用Python函数进行模块化的实现
2019/11/15 Python
Pycharm连接gitlab实现过程图解
2020/09/01 Python
CSS3绘制超炫的上下起伏波动进度加载动画
2016/04/21 HTML / CSS
澳大利亚UGG工厂直销:Australian Ugg Boots
2017/10/14 全球购物
美国隐形眼镜网:Major Lens
2018/02/09 全球购物
Sisley法国希思黎中国官网:享誉全球的奢华植物美容品牌
2019/06/30 全球购物
餐厅考勤管理制度
2014/01/28 职场文书
小学教师自我鉴定范文
2014/03/20 职场文书
民主生活会对照检查材料思想汇报
2014/09/27 职场文书
合作合同协议书范本
2015/01/27 职场文书
公司员工手册范本
2015/05/14 职场文书
演讲开场白和结束语
2015/05/29 职场文书
2015双创工作总结
2015/07/24 职场文书
幼儿园教师教育随笔
2015/08/14 职场文书