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的*args和**kwargs用法
Nov 01 Python
进一步理解Python中的函数编程
Apr 13 Python
Python实现图片尺寸缩放脚本
Mar 10 Python
Python闭包执行时值的传递方式实例分析
Jun 04 Python
Python爬虫将爬取的图片写入world文档的方法
Nov 07 Python
Python Unittest根据不同测试环境跳过用例的方法
Dec 16 Python
Python设计模式之简单工厂模式实例详解
Jan 22 Python
关于 Python opencv 使用中的 ValueError: too many values to unpack
Jun 28 Python
selenium2.0中常用的python函数汇总
Aug 05 Python
python爬虫开发之urllib模块详细使用方法与实例全解
Mar 09 Python
python3 循环读取excel文件并写入json操作
Jul 14 Python
Python Pandas读取Excel日期数据的异常处理方法
Feb 28 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经典面试题集锦
2015/03/19 PHP
js跨域和ajax 跨域问题的实现思路
2009/09/05 Javascript
IE8下关于querySelectorAll()的问题
2010/05/13 Javascript
基于jquery的一个拖拽到指定区域内的效果
2011/09/21 Javascript
js实现checkbox全选和反选示例
2014/05/01 Javascript
详解参数传递四种形式
2015/07/21 Javascript
再JavaScript的jQuery库中编写动画效果的指南
2015/08/13 Javascript
详解JavaScript时间格式化
2015/12/23 Javascript
javascript+HTML5自定义元素播放焦点图动画
2016/02/21 Javascript
node.js连接mongoDB数据库 快速搭建自己的web服务
2016/04/17 Javascript
jQuery简单实现仿京东分类导航层效果
2016/06/07 Javascript
JS模拟bootstrap下拉菜单效果实例
2016/06/17 Javascript
ionic实现滑动的三种方式
2016/08/27 Javascript
angularJS模态框$modal实例代码
2017/05/27 Javascript
vue axios 给生产环境和发布环境配置不同的接口地址(推荐)
2018/05/08 Javascript
JS实现获取自定义属性data值的方法示例
2018/12/19 Javascript
@angular前端项目代码优化之构建Api Tree的方法
2018/12/24 Javascript
如何对react hooks进行单元测试的方法
2019/08/14 Javascript
Vue.js使用axios动态获取response里的data数据操作
2020/09/08 Javascript
python使用BeautifulSoup分页网页中超链接的方法
2015/04/04 Python
python实现飞机大战游戏
2020/10/26 Python
python远程邮件控制电脑升级版
2019/05/23 Python
Python编写通讯录通过数据库存储实现模糊查询功能
2019/07/18 Python
利用python生成照片墙的示例代码
2020/04/09 Python
Python函数调用追踪实现代码
2020/11/27 Python
LA MER海蓝之谜美国官网:传奇面霜
2016/08/27 全球购物
伊芙丽官方旗舰店:中国淑女一线品牌
2017/12/01 全球购物
澳大利亚设计的优质鞋类和适合澳大利亚生活方式的服装:Rivers
2019/04/23 全球购物
计算机专业个人求职自荐信
2013/09/21 职场文书
应届生煤化工求职信
2013/10/21 职场文书
《他得的红圈圈最多》教学反思
2014/04/24 职场文书
我爱我的祖国演讲稿
2014/05/04 职场文书
关于读书的演讲稿500字
2014/08/27 职场文书
出资证明书范本(标准版)
2014/09/24 职场文书
县委党的群众路线教育实践活动工作情况报告
2014/10/25 职场文书
2019中小学生安全过暑期倡议书
2019/06/24 职场文书