PyQt5每天必学之QSplitter实现窗口分隔


Posted in Python onApril 19, 2018

QSplitter使用户可以通过拖动子面板的边界控制子面板的大小。在我们的例子中,我们使用了两个QSplitter 对三个QFrame 控件进行了分隔。

#!/usr/bin/python3
# -*- coding: utf-8 -*-

"""
PyQt5 教程

这个例子说明如何使用QSplitter部件。

作者:我的世界你曾经来过
博客:http://blog.csdn.net/weiaitaowang
最后编辑:2016年8月4日
"""

import sys
from PyQt5.QtWidgets import (QApplication, QWidget, QHBoxLayout, 
QFrame, QSplitter)
from PyQt5.QtCore import Qt

class Example(QWidget):

  def __init__(self):
    super().__init__()

    self.initUI()

  def initUI(self):

    hbox = QHBoxLayout(self)

    topleft = QFrame(self)
    topleft.setFrameShape(QFrame.StyledPanel)

    topright = QFrame(self)
    topright.setFrameShape(QFrame.StyledPanel)

    bottom = QFrame(self)
    bottom.setFrameShape(QFrame.StyledPanel)

    splitter1 = QSplitter(Qt.Horizontal)
    splitter1.addWidget(topleft)
    splitter1.addWidget(topright)

    splitter2 = QSplitter(Qt.Vertical)
    splitter2.addWidget(splitter1)
    splitter2.addWidget(bottom)

    hbox.addWidget(splitter2)
    self.setLayout(hbox)

    self.setGeometry(300, 300, 300, 200)
    self.setWindowTitle('窗口分隔')    
    self.show()

if __name__ == '__main__':

  app = QApplication(sys.argv)
  ex = Example()
  sys.exit(app.exec_())

在我们的例子中,我们使用了三个框架部件和两个QSplitter 。请注意,某些主题的QSplitter 边界可能不可见。

 topleft = QFrame(self)
topleft.setFrameShape(QFrame.StyledPanel)

我们为QFrame 控件添加StyledPanel样式能使QFrame 控件之间的界限更加明显。

splitter1 = QSplitter(Qt.Horizontal)
splitter1.addWidget(topleft)
splitter1.addWidget(topright)

我们创建了一个QSplitter控件,并添加两个QFrame 进去。

splitter2 = QSplitter(Qt.Vertical)
splitter2.addWidget(splitter1)

We can also add a splitter to another splitter widget. 我们还可以添加一个QSplitter到另一个QSplitter控件中。

程序执行后

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

Python 相关文章推荐
Python写的创建文件夹自定义函数mkdir()
Aug 25 Python
Python多进程同步Lock、Semaphore、Event实例
Nov 21 Python
python使用PIL缩放网络图片并保存的方法
Apr 24 Python
Python中type的构造函数参数含义说明
Jun 21 Python
python的keyword模块用法实例分析
Jun 30 Python
Python实现的将文件每一列写入列表功能示例【测试可用】
Mar 19 Python
使用Python快速搭建HTTP服务和文件共享服务的实例讲解
Jun 04 Python
详解python3中的真值测试
Aug 13 Python
基于Python3.6+splinter实现自动抢火车票
Sep 25 Python
使用pycharm和pylint检查python代码规范操作
Jun 09 Python
全面介绍python中很常用的单元测试框架unitest
Dec 14 Python
发工资啦!教你用Python实现邮箱自动群发工资条
May 10 Python
python 读入多行数据的实例
Apr 19 #Python
Python 绘图库 Matplotlib 入门教程
Apr 19 #Python
python 列表删除所有指定元素的方法
Apr 19 #Python
Python 机器学习库 NumPy入门教程
Apr 19 #Python
python 显示数组全部元素的方法
Apr 19 #Python
PyQt5每天必学之进度条效果
Apr 19 #Python
python中实现将多个print输出合成一个数组
Apr 19 #Python
You might like
百度地图经纬度转换到腾讯地图/Google 对应的经纬度
2015/08/28 PHP
php查找字符串中第一个非0的位置截取
2017/02/27 PHP
js中reverse函数的用法详解
2013/12/26 Javascript
JSONP跨域GET请求解决Ajax跨域访问问题
2014/12/31 Javascript
jquery移动点击的项目到列表最顶端的方法
2015/06/24 Javascript
详解jQuery移动页面开发中的ui-grid网格布局使用
2015/12/03 Javascript
javascript图片切换综合实例(循环切换、顺序切换)
2016/01/13 Javascript
基于JavaScript实现类似于百度学术高级检索功能
2016/03/02 Javascript
详解Jquery实现ready和bind事件
2016/04/14 Javascript
Nodejs基于LRU算法实现的缓存处理操作示例
2017/03/17 NodeJs
微信小程序request出现400的问题解决办法
2017/05/23 Javascript
20行JS代码实现网页刮刮乐效果
2017/06/23 Javascript
JS简单实现动态添加HTML标记的方法示例
2018/04/08 Javascript
Vue+Jwt+SpringBoot+Ldap完成登录认证的示例代码
2018/05/21 Javascript
Next.js实现react服务器端渲染的方法示例
2019/01/06 Javascript
JS实现判断有效的数独算法示例
2019/02/25 Javascript
详解bootstrap-fileinput文件上传控件的亲身实践
2019/03/21 Javascript
浅谈vue 锚点指令v-anchor的使用
2019/11/13 Javascript
微信小程序实现锚点功能
2019/11/20 Javascript
jQuery Raty星级评分插件使用方法实例分析
2019/11/25 jQuery
[38:44]DOTA2上海特级锦标赛A组小组赛#2 Secret VS CDEC第二局
2016/02/25 DOTA
Python多线程结合队列下载百度音乐的方法
2015/07/27 Python
Python File readlines() 使用方法
2018/03/19 Python
使用pandas对两个dataframe进行join的实例
2018/06/08 Python
django model object序列化实例
2020/03/13 Python
零基础小白多久能学会python
2020/06/22 Python
Python3爬虫mitmproxy的安装步骤
2020/07/29 Python
python实现梯度下降算法的实例详解
2020/08/17 Python
Python如何在bool函数中取值
2020/09/21 Python
Roxy俄罗斯官方网站:冲浪和滑雪板的一切
2020/06/20 全球购物
Moda Operandi官网:美国奢侈品电商,海淘秀场T台同款
2020/05/26 全球购物
校庆标语集锦
2014/06/25 职场文书
工作求职信
2014/07/04 职场文书
玩手机检讨书1000字
2014/10/20 职场文书
酒店人事主管岗位职责
2015/04/11 职场文书
css背景和边框标签实例详解
2021/05/21 HTML / CSS