wxPython实现分隔窗口


Posted in Python onNovember 19, 2019

本文实例为大家分享了wxPython分隔窗口的具体代码,供大家参考,具体内容如下

1、分割窗口

分隔窗口(wx.SplitterWindow)就是将窗口分成两部分,即左右或上下两部分,如下图所示窗口,整体上分为左右两个窗口,右窗口又分为上下两窗口,两个窗口之间的分隔线是可以拖动的,称为“窗框”(sash)。

wxPython实现分隔窗口

wx.SplitterWindow中一个常用的方法有: 

  • SplitVertically(window1, window2, sashPosition=0)。设置左右布局的分隔窗口,window1为左窗口,window2为右窗口,sashPosition是窗口的位置。
  • SplitHorizontally(window1, window2, sashPosition=0)。设置上下布局的分隔窗口,window1为上窗口,window2为下窗口,sashPosition是窗口的位置。
  • SetMinimumPaneSize(paneSize)。设置最小窗口尺寸,如果是左右布局是指左窗口的最小尺寸,如果是上下布局是指上窗口的最小尺寸。如果没有设置则默认为0。

如下图为一个分割窗口,采用的是左右分割,左右两边各放一个面板。左边面板设置一个垂直box管理器,并添加上一个ListBox控件;然后给控件绑上事件处理,获取事件内容并在右侧的StaticText上显示出来。

 wxPython实现分隔窗口

2、代码实现

上图的代码实现如下所示:

import wx
 
 
# 自定义窗口类MyFrame
class MyFrame(wx.Frame):
 def __init__(self):
  super().__init__(parent=None, title="分隔窗口", size=(450, 300))
  self.Center()
  swindow = wx.SplitterWindow(parent=self, id=-1)
  left = wx.Panel(parent=swindow)
  right = wx.Panel(parent=swindow)
  # 设置左右布局的分割窗口left和right
  swindow.SplitVertically(left, right, 100)
  # 设置最小窗格大小,左右布局指左边窗口大小
  swindow.SetMinimumPaneSize(80)
  # 创建一个ListBox对象
  self.list = ['苹果', '橘子', '香蕉', '梨子', '芒果']
  lb2 = wx.ListBox(left, 1, choices=self.list, style=wx.LB_SINGLE)
  self.Bind(wx.EVT_LISTBOX, self.on_listbox, lb2)
  # 为left面板设置一个布局管理器
  vbox1 = wx.BoxSizer(wx.VERTICAL)
  left.SetSizer(vbox1)
  vbox1.Add(lb2, 1, flag=wx.EXPAND | wx.ALL, border=5)
  # 为right面板设置一个布局管理器
  vbox2 = wx.BoxSizer(wx.VERTICAL)
  right.SetSizer((vbox2))
  self.st = wx.StaticText(right, 2, label='请选择')
  vbox2.Add(self.st, 1, flag=wx.EXPAND | wx.ALL, border=5)
 
 def on_listbox(self, event):
  self.st.SetLabelText(event.GetString())
 
 
class App(wx.App):
 def OnInit(self):
  # 创建窗口对象
  frame = MyFrame()
  frame.Show()
  return True
 
 def OnExit(self):
  print("应用程序退出")
  return 0
 
 
if __name__ == '__main__':
 app = App()
 app.MainLoop()

3、运行结果如下:

wxPython实现分隔窗口

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python文件与文件夹常见基本操作总结
Sep 19 Python
linux平台使用Python制作BT种子并获取BT种子信息的方法
Jan 20 Python
对python程序内存泄漏调试的记录
Jun 11 Python
Python中的asyncio代码详解
Jun 10 Python
对于Python深浅拷贝的理解
Jul 29 Python
Python实用库 PrettyTable 学习笔记
Aug 06 Python
python enumerate内置函数用法总结
Jan 07 Python
Python socket处理client连接过程解析
Mar 18 Python
Python爬虫HTPP请求方法有哪些
Jun 03 Python
详解python中GPU版本的opencv常用方法介绍
Jul 24 Python
Python列表元素删除和remove()方法详解
Jan 04 Python
python软件测试Jmeter性能测试JDBC Request(结合数据库)的使用详解
Jan 26 Python
浅谈Python type的使用
Nov 19 #Python
Python 利用邮件系统完成远程控制电脑的实现(关机、重启等)
Nov 19 #Python
Python算法的时间复杂度和空间复杂度(实例解析)
Nov 19 #Python
关于Flask项目无法使用公网IP访问的解决方式
Nov 19 #Python
Python算法中的时间复杂度问题
Nov 19 #Python
wxPython窗体拆分布局基础组件
Nov 19 #Python
Python解压 rar、zip、tar文件的方法
Nov 19 #Python
You might like
PHP操作xml代码
2010/06/17 PHP
关于session在PHP5的配置文件中的详细设置参数说明
2011/04/20 PHP
CodeIgniter集成smarty的方法详解
2016/05/26 PHP
php字符集转换
2017/01/23 PHP
对xmlHttp对象方法和属性的理解
2011/01/17 Javascript
各浏览器对document.getElementById等方法的实现差异解析
2013/12/05 Javascript
重写document.write实现无阻塞加载js广告(补充)
2014/12/12 Javascript
js实现横向伸展开的二级导航菜单代码
2015/08/28 Javascript
Jquery1.9.1源码分析系列(六)延时对象应用之jQuery.ready
2015/11/24 Javascript
谈谈对JavaScript原生拖放的深入理解
2016/09/20 Javascript
Jquery实现跨域异步上传文件总结
2017/02/03 Javascript
微信小程序手势操作之单触摸点与多触摸点
2017/03/10 Javascript
Vue+webpack项目基础配置教程
2018/02/12 Javascript
详解JavaScript的数据类型以及数据类型的转换
2019/04/20 Javascript
pm2发布node配置文件ecosystem.json详解
2019/05/15 Javascript
Vuex 模块化使用详解
2019/07/31 Javascript
关于引入vue.js 文件的知识点总结
2020/01/28 Javascript
[05:04]完美世界携手游戏风云打造 卡尔工作室地图界面篇
2013/04/23 DOTA
让python在hadoop上跑起来
2016/01/27 Python
Python算法应用实战之队列详解
2017/02/04 Python
分享一下Python数据分析常用的8款工具
2018/04/29 Python
Python+PyQt5实现美剧爬虫可视工具的方法
2019/04/25 Python
python开发实例之Python的Twisted框架中Deferred对象的详细用法与实例
2020/03/19 Python
基于Python实现2种反转链表方法代码实例
2020/07/06 Python
巧用CSS3的calc()宽度计算做响应模式布局的方法
2018/03/22 HTML / CSS
英国二手物品交易网站:Preloved
2017/10/06 全球购物
请解释一下webService? 如何用.net实现webService
2014/06/09 面试题
护理专业毕业生推荐信
2013/10/31 职场文书
夜大自我鉴定
2013/10/31 职场文书
面包店的创业计划书范文
2014/01/16 职场文书
应届毕业生自荐信例文
2014/02/26 职场文书
小学一年级评语大全
2014/04/22 职场文书
干部作风建设心得体会
2014/10/22 职场文书
党委工作总结2015
2015/04/27 职场文书
观看焦裕禄观后感
2015/06/09 职场文书
2019年度开业庆典祝福语大全!
2019/07/05 职场文书