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字符串拼接、截取及替换方法总结分析
Apr 13 Python
Python简单实现的代理服务器端口映射功能示例
Apr 08 Python
Python读取本地文件并解析网页元素的方法
May 21 Python
python实现机器学习之多元线性回归
Sep 06 Python
5款Python程序员高频使用开发工具推荐
Apr 10 Python
Python实现一个数组除以一个数的例子
Jul 20 Python
Pytorch Tensor的统计属性实例讲解
Dec 30 Python
python获取依赖包和安装依赖包教程
Feb 13 Python
pytorch 实现在一个优化器中设置多个网络参数的例子
Feb 20 Python
pycharm专业版远程登录服务器的详细教程
Sep 15 Python
Python入门基础之数字字符串与列表
Feb 01 Python
python元组打包和解包过程详解
Aug 02 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原理之错误抑制与内嵌HTML分析
2011/05/02 PHP
PHP伪造来源HTTP_REFERER的方法实例详解
2015/07/06 PHP
实例分析PHP中PHPMailer发邮件
2017/12/13 PHP
PHP设计模式之注册树模式分析
2018/01/26 PHP
thinkPHP框架实现多表查询的方法
2018/06/14 PHP
PHP正则表达式函数preg_replace用法实例分析
2020/06/04 PHP
如何取得中文输入的真实长度?
2006/06/24 Javascript
javascript 字符 Escape,encodeURI,encodeURIComponent
2009/07/09 Javascript
JavaScript 继承详解 第一篇
2009/08/30 Javascript
javascript-简单的计算器实现步骤分解(附图)
2013/05/30 Javascript
javascript获取所有同类checkbox选项(实例代码)
2013/11/07 Javascript
中文输入法不触发onkeyup事件的解决办法
2014/07/09 Javascript
不用一句js代码初始化组件
2016/01/27 Javascript
浅谈window.onbeforeunload() 事件调用ajax
2016/06/29 Javascript
jQuery常见的选择器及用法介绍
2016/12/20 Javascript
jQuery插件版本冲突的处理方法分析
2017/01/16 Javascript
js + css实现标签内容切换功能(实例讲解)
2017/10/09 Javascript
js实现同一个页面,多个enter事件绑定的示例
2018/10/10 Javascript
解决element ui select下拉框不回显数据问题的解决
2019/02/20 Javascript
vuex实现及简略解析(小结)
2019/03/01 Javascript
用Python代码来绘制彭罗斯点阵的教程
2015/04/03 Python
python3设计模式之简单工厂模式
2017/10/17 Python
Python爬虫_城市公交、地铁站点和线路数据采集实例
2018/01/10 Python
Python内置函数reversed()用法分析
2018/03/20 Python
python中的内置函数max()和min()及mas()函数的高级用法
2018/03/29 Python
python实现可变变量名方法详解
2019/07/01 Python
Python使用grequests(gevent+requests)并发发送请求过程解析
2019/09/25 Python
使用Python制作新型冠状病毒实时疫情图
2020/01/28 Python
python matplotlib包图像配色方案分享
2020/03/14 Python
jupyter notebook远程访问不了的问题解决方法
2021/01/11 Python
美国按摩椅批发网站:Titan Chair
2018/12/27 全球购物
MVC的各个部分都有那些技术来实现?如何实现?
2016/04/21 面试题
工人先锋号事迹材料
2014/12/24 职场文书
教师党员个人自我评价
2015/03/04 职场文书
物业工程部主管岗位职责
2015/04/16 职场文书
我对PyTorch dataloader里的shuffle=True的理解
2021/05/20 Python