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数组的处理代码
Jan 04 Python
Python实现简单状态框架的方法
Mar 19 Python
Python脚本实现虾米网签到功能
Apr 12 Python
深入解析Python中的descriptor描述器的作用及用法
Jun 27 Python
Python简单实现socket信息发送与监听功能示例
Jan 03 Python
Python实现base64编码的图片保存到本地功能示例
Jun 22 Python
python实现扫描ip地址的小程序
Apr 16 Python
python实现单目标、多目标、多尺度、自定义特征的KCF跟踪算法(实例代码)
Jan 08 Python
Python 处理日期时间的Arrow库使用
Aug 18 Python
Python使用for生成列表实现过程解析
Sep 22 Python
python 基于DDT实现数据驱动测试
Feb 18 Python
python常见的占位符总结及用法
Jul 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输出指定时间以前时间格式的方法
2015/03/21 PHP
PHP屏蔽关键字实现方法
2016/11/17 PHP
PHP中的use关键字及文件的加载详解
2016/11/28 PHP
PHP sdk文档处理常用代码示例解析
2020/12/09 PHP
javascript 随机展示头像实现代码
2011/12/06 Javascript
js实现瀑布流的一种简单方法实例分享
2013/11/04 Javascript
js动态移动滚动条至底部示例代码
2014/04/24 Javascript
多引号嵌套的变量命名的问题
2014/05/09 Javascript
jquery中checkbox全选失效的解决方法
2014/12/26 Javascript
javascript随机显示背景图片的方法
2015/06/18 Javascript
jQuery通过ajax请求php遍历json数组到table中的代码(推荐)
2016/06/12 Javascript
微信小程序  网络请求API详解
2016/10/25 Javascript
JS实现的验证身份证及获取地区功能示例
2017/01/16 Javascript
详解vue嵌套路由-query传递参数
2017/05/23 Javascript
AngularJS实现的select二级联动下拉菜单功能示例
2017/10/25 Javascript
详解jQuery如何实现模糊搜索
2019/05/10 jQuery
[02:40]2014DOTA2 国际邀请赛中国区预选赛 四大豪门抵达华西村
2014/05/23 DOTA
python中is与双等于号“==”的区别示例详解
2017/11/21 Python
python模仿网页版微信发送消息功能
2018/02/24 Python
selenium获取当前页面的url、源码、title的方法
2019/06/12 Python
使用Python中的reduce()函数求积的实例
2019/06/28 Python
用Pelican搭建一个极简静态博客系统过程解析
2019/08/22 Python
python进程间通信Queue工作过程详解
2019/11/01 Python
pytorch: Parameter 的数据结构实例
2019/12/31 Python
python和node.js生成当前时间戳的示例
2020/09/29 Python
Python3+Flask安装使用教程详解
2021/02/16 Python
phonegap常用事件总结(必看篇)
2017/03/31 HTML / CSS
Hotels.com南非:酒店预订
2017/11/02 全球购物
澳大利亚美容产品及化妆品在线:Activeskin
2020/06/03 全球购物
Java面试题汇总
2015/12/06 面试题
临床医学专业学生的自我评价分享
2013/11/21 职场文书
学生安全教育材料
2014/02/14 职场文书
校庆接待方案
2014/03/18 职场文书
新年联欢会主持词
2014/03/27 职场文书
安全协议书
2014/04/23 职场文书
2014年语文教研组工作总结
2014/12/06 职场文书