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 23 Python
Python实现删除Android工程中的冗余字符串
Jan 19 Python
Python实现从订阅源下载图片的方法
Mar 11 Python
通过数据库向Django模型添加字段的示例
Jul 21 Python
Python实现解析Bit Torrent种子文件内容的方法
Aug 29 Python
django 中QuerySet特性功能详解
Jul 25 Python
基于Python实现签到脚本过程解析
Oct 25 Python
tensorflow 实现从checkpoint中获取graph信息
Feb 10 Python
解决python图像处理图像赋值后变为白色的问题
Jun 04 Python
python Matplotlib数据可视化(1):简单入门
Sep 30 Python
python使用openpyxl库读写Excel表格的方法(增删改查操作)
May 02 Python
python中的3种定义类方法
Nov 27 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
在WAMP环境下搭建ZendDebugger php调试工具的方法
2011/07/18 PHP
深入理解PHP中的global
2014/08/19 PHP
变量在 PHP7 内部的实现(二)
2015/12/21 PHP
php编程每天必学之表单验证
2016/03/01 PHP
PHP PDOStatement::setFetchMode讲解
2019/02/03 PHP
php服务器的系统详解
2019/10/12 PHP
PHP实现微信提现功能(微信商城)
2019/11/21 PHP
Flash+XML滚动新闻代码 无图片 附源码下载
2007/11/22 Javascript
JS+JSP checkBox 全选具体实现
2014/01/02 Javascript
jQuery Validate 验证,校验规则写在控件中的具体实例
2014/02/27 Javascript
JQuery为页面Dom元素绑定事件及解除绑定方法
2014/04/23 Javascript
在css加载完毕后自动判断页面是否加入css或js文件
2014/09/10 Javascript
以Python代码实例展示kNN算法的实际运用
2015/10/26 Javascript
js拖拽功能实现代码解析
2016/11/28 Javascript
利用Vue实现移动端图片轮播组件的方法实例
2017/08/23 Javascript
Vue项目中跨域问题解决方案
2018/06/05 Javascript
bootstrap实现点击删除按钮弹出确认框的实例代码
2018/08/16 Javascript
关于自定义Egg.js的请求级别日志详解
2018/12/12 Javascript
JS根据Unix时间戳显示发布时间是多久前【项目实测】
2019/07/10 Javascript
NodeJS多种创建WebSocket监听的方式(三种)
2020/06/04 NodeJs
[02:59]DOTA2完美大师赛主赛事第三日精彩集锦
2017/11/25 DOTA
Python常用的爬虫技巧总结
2016/03/28 Python
用python结合jieba和wordcloud实现词云效果
2017/09/05 Python
解决python3 pika之连接断开的问题
2018/12/18 Python
Python Sympy计算梯度、散度和旋度的实例
2019/12/06 Python
python读取csv文件指定行的2种方法详解
2020/02/13 Python
django 利用Q对象与F对象进行查询的实现
2020/05/15 Python
10个顶级Python实用库推荐
2021/03/04 Python
使用html2canvas将页面转成图并使用用canvas2image下载
2019/04/04 HTML / CSS
eHarmony英国:全球领先的认真恋爱约会平台之一
2020/11/16 全球购物
关于工资低的辞职信
2014/01/14 职场文书
刘胡兰的英雄事迹材料
2014/02/11 职场文书
关爱残疾人标语
2014/06/25 职场文书
社会治安综合治理责任书
2015/01/29 职场文书
领导干部失职检讨书
2015/05/05 职场文书
导游词之徐州-云龙山
2019/09/29 职场文书