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实现的数据结构与算法之双端队列详解
Apr 22 Python
Python基于sftp及rsa密匙实现远程拷贝文件的方法
Sep 21 Python
如何高效使用Python字典的方法详解
Aug 31 Python
从请求到响应过程中django都做了哪些处理
Aug 01 Python
Python异常处理操作实例详解
Aug 28 Python
Django中在xadmin中集成DjangoUeditor过程详解
Jul 24 Python
python-序列解包(对可迭代元素的快速取值方法)
Aug 24 Python
Python 切分数组实例解析
Nov 07 Python
如何基于python操作excel并获取内容
Dec 24 Python
python_mask_array的用法
Feb 18 Python
Python调用REST API接口的几种方式汇总
Oct 19 Python
Pytorch 如何实现LSTM时间序列预测
May 17 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
ThinkPHP采用模块和操作分析
2011/04/18 PHP
PHP 文件写入和读取操作实例详解【必看篇】
2019/11/04 PHP
几个比较实用的JavaScript 测试及效验工具
2010/04/18 Javascript
基于jQuery的左右滚动实现代码
2010/12/03 Javascript
jquery实现metro效果示例代码
2013/09/06 Javascript
几种设置表单元素中文本输入框不可编辑的方法总结
2013/11/25 Javascript
jQuery判断当前点击的是第几个li的代码
2014/09/26 Javascript
js实现非常简单的焦点图切换特效实例
2015/05/07 Javascript
jquery带有索引按钮且自动轮播切换特效代码分享
2015/09/15 Javascript
一个炫酷的Bootstrap导航菜单
2016/12/28 Javascript
使用 NodeJS+Express 开发服务端的简单介绍
2017/04/07 NodeJs
详解webpack打包vue时提取css
2017/05/26 Javascript
微信小程序实现点击返回顶层的方法
2017/07/12 Javascript
微信小程序开发(三):返回上一级页面并刷新操作示例【页面栈】
2020/06/01 Javascript
解决vuex刷新数据消失问题
2020/11/12 Javascript
Python常用列表数据结构小结
2014/08/06 Python
Python创建文件和追加文件内容实例
2014/10/21 Python
Python的Flask框架中Flask-Admin库的简单入门指引
2015/04/07 Python
python获取外网ip地址的方法总结
2015/07/02 Python
Python导入oracle数据的方法
2015/07/10 Python
python删除字符串中指定字符的方法
2018/08/13 Python
Python中PyQt5/PySide2的按钮控件使用实例
2019/08/17 Python
python pyecharts 实现一个文件绘制多张图
2020/05/13 Python
keras得到每层的系数方式
2020/06/15 Python
关于python中remove的一些坑小结
2021/01/04 Python
IE10 Error.stack 让脚本调试更加方便快捷
2013/04/22 HTML / CSS
Gtech官方网站:地毯清洁器、吸尘器及园艺设备
2018/05/23 全球购物
医院护士专业个人的求职信
2013/12/09 职场文书
幼儿园元旦家长感言
2014/02/27 职场文书
医院信息公开实施方案
2014/05/09 职场文书
大学生就业自我推荐信
2014/05/10 职场文书
cf战队收人口号
2014/06/21 职场文书
七一建党节演讲稿
2014/09/11 职场文书
转让协议书范本
2014/09/13 职场文书
毕业班班主任工作总结2015
2015/07/23 职场文书
导游词之天津古文化街
2019/11/09 职场文书