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中的闭包详细介绍和实例
Nov 21 Python
Python实现句子翻译功能
Nov 14 Python
利用python3随机生成中文字符的实现方法
Nov 24 Python
python机器学习之神经网络实现
Oct 13 Python
python射线法判断检测点是否位于区域外接矩形内
Jun 28 Python
Django中自定义查询对象的具体使用
Oct 13 Python
Python实现word2Vec model过程解析
Dec 16 Python
Pycharm小白级简单使用教程
Jan 08 Python
python代码实现TSNE降维数据可视化教程
Feb 28 Python
python生成大写32位uuid代码
Mar 03 Python
Python执行时间的几种计算方法
Jul 31 Python
Python pysnmp使用方法及代码实例
Aug 24 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
syphon 虹吸式咖啡冲泡冲煮倒水的得与失
2021/03/03 冲泡冲煮
PHP取得一个类的属性和方法的实现代码
2011/05/22 PHP
php漏洞之跨网站请求伪造与防止伪造方法
2013/08/15 PHP
PHP中的gzcompress、gzdeflate、gzencode函数详解
2014/07/29 PHP
学习php设计模式 php实现抽象工厂模式
2015/12/07 PHP
ThinkPHP实现生成和校验验证码功能
2017/04/28 PHP
laravel 5.3中自定义加密服务的方案详解
2017/05/09 PHP
再谈javascript 动态添加样式规则 W3C校检
2009/12/25 Javascript
一些实用的jQuery代码片段收集
2011/07/12 Javascript
jquery tab插件精简版分享
2011/09/10 Javascript
javascript学习笔记(九) js对象 设计模式
2012/06/19 Javascript
jQuery中parents()和parent()的区别分析
2014/10/28 Javascript
JavaScript检测字符串中是否含有html标签实现方法
2015/07/01 Javascript
bootstrap table小案例
2016/10/21 Javascript
进阶之初探nodeJS
2017/01/24 NodeJs
Angular.Js之Scope作用域的学习教程
2017/04/27 Javascript
AngularJS实现的回到顶部指令功能实例
2017/05/17 Javascript
BootStrap导航栏问题记录
2017/07/31 Javascript
用React-Native+Mobx做一个迷你水果商城APP(附源码)
2017/12/25 Javascript
vue项目如何监听localStorage或sessionStorage的变化
2021/01/04 Vue.js
python通过邮件服务器端口发送邮件的方法
2015/04/30 Python
一百多行python代码实现抢票助手
2018/09/25 Python
Django使用消息提示简单的弹出个对话框实例
2019/11/15 Python
Python 中@property的用法详解
2020/01/15 Python
Python pandas 列转行操作详解(类似hive中explode方法)
2020/05/18 Python
Python使用xlrd实现读取合并单元格
2020/07/09 Python
HTML5 通过Vedio标签实现视频循环播放的示例代码
2020/08/05 HTML / CSS
购买正版游戏和游戏激活码:Green Man Gaming
2019/11/06 全球购物
单位未婚证明范本
2014/01/18 职场文书
机械设计及其自动化专业求职信
2014/06/09 职场文书
大学生违纪检讨书300字
2014/10/25 职场文书
大学生实训报告总结
2014/11/05 职场文书
肖申克救赎观后感
2015/06/02 职场文书
2016廉洁从政心得体会
2016/01/19 职场文书
详解Django的MVT设计模式
2021/04/29 Python
Mysql使用全文索引(FullText index)的实例代码
2022/04/03 MySQL