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利用matplotlib库绘制饼图的方法示例
Dec 18 Python
详解Python如何生成词云的方法
Jun 01 Python
Python3实现的简单工资管理系统示例
Mar 12 Python
Python 中的参数传递、返回值、浅拷贝、深拷贝
Jun 25 Python
python实现大文本文件分割
Jul 22 Python
django-crontab 定时执行任务方法的实现
Sep 06 Python
Python shutil模块用法实例分析
Oct 02 Python
Python算法的时间复杂度和空间复杂度(实例解析)
Nov 19 Python
python 微信好友特征数据分析及可视化
Jan 07 Python
Pycharm debug调试时带参数过程解析
Feb 03 Python
python为什么要安装到c盘
Jul 20 Python
python 爬虫请求模块requests详解
Dec 04 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编程注意事项的小结
2013/04/27 PHP
详解在PHP的Yii框架中使用行为Behaviors的方法
2016/03/18 PHP
自制PHP框架之模型与数据库
2017/05/07 PHP
PHP堆栈调试操作简单示例
2018/06/15 PHP
js控制淡入淡出示例代码
2013/11/12 Javascript
javascript模拟订火车票和退票示例
2014/04/24 Javascript
浅析JavaScript访问对象属性和方法及区别
2015/11/16 Javascript
JavaScript的ExtJS框架中数面板TreePanel的使用实例解析
2016/05/21 Javascript
nodejs基于mssql模块连接sqlserver数据库的简单封装操作示例
2018/01/05 NodeJs
在 React、Vue项目中使用SVG的方法
2018/02/09 Javascript
js调用网络摄像头的方法
2020/12/05 Javascript
[01:20:05]DOTA2-DPC中国联赛 正赛 Ehome vs VG BO3 第二场 2月5日
2021/03/11 DOTA
详解python中的文件与目录操作
2017/07/11 Python
python中通过预先编译正则表达式提高效率
2017/09/25 Python
Python tornado队列示例-一个并发web爬虫代码分享
2018/01/09 Python
浅析Python四种数据类型
2018/09/26 Python
浅谈Python的list中的选取范围
2018/11/12 Python
python如何实现数据的线性拟合
2019/07/19 Python
python爬虫开发之使用Python爬虫库requests多线程抓取猫眼电影TOP100实例
2020/03/10 Python
python 双循环遍历list 变量判断代码
2020/05/04 Python
Python+Dlib+Opencv实现人脸采集并表情判别功能的代码
2020/07/01 Python
详解Python遍历列表时删除元素的正确做法
2021/01/07 Python
css3 响应式媒体查询的示例代码
2019/09/25 HTML / CSS
英国索普公园票务和酒店套餐:Thorpe Breaks
2019/09/14 全球购物
什么是规则表达式
2012/05/03 面试题
安全演讲稿大全
2014/05/09 职场文书
单位委托书格式范本
2014/09/29 职场文书
实习生矿工检讨书
2014/10/13 职场文书
2014旅游局党组书记党建工作汇报材料
2014/11/02 职场文书
2015年元宵节活动总结
2015/02/06 职场文书
党支部鉴定意见
2015/06/02 职场文书
组织委员竞选稿
2015/11/21 职场文书
《珍珠鸟》教学反思
2016/02/16 职场文书
导游词之珠海轮廓
2019/10/25 职场文书
一篇文章弄懂MySQL查询语句的执行过程
2021/05/07 MySQL
《英雄联盟》2022日蚀、月蚀皮肤演示 黑潮亚索曝光
2022/04/13 其他游戏