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中常用操作字符串的函数与方法总结
Feb 04 Python
python 删除列表里所有空格项的方法总结
Apr 18 Python
Python3爬取英雄联盟英雄皮肤大图实例代码
Nov 14 Python
10 分钟快速入门 Python3的教程
Jan 29 Python
在pycharm中配置Anaconda以及pip源配置详解
Sep 09 Python
Python操作Mongodb数据库的方法小结
Sep 10 Python
基于python2.7实现图形密码生成器的实例代码
Nov 05 Python
tensorflow 只恢复部分模型参数的实例
Jan 06 Python
Python 解决相对路径问题:"No such file or directory"
Jun 05 Python
Docker如何部署Python项目的实现详解
Oct 26 Python
python 实现弹球游戏的示例代码
Nov 17 Python
Python爬取某拍短视频
Jun 11 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
收听短波不可能有声音清晰的品质吗
2021/03/01 无线电
PHP5 安装方法
2006/10/09 PHP
PHP获取文件的MD5值并判断是否被修改的例子
2014/06/19 PHP
php实现异步将远程链接上内容(图片或内容)写到本地的方法
2016/11/30 PHP
PHP使Laravel为JSON REST API返回自定义错误的问题
2018/10/16 PHP
统计PHP目录中的文件数方法
2019/03/05 PHP
juery框架写的弹窗效果适合新手
2013/11/27 Javascript
《JavaScript高级编程》学习笔记之object和array引用类型
2015/11/01 Javascript
AngularJS实现元素显示和隐藏的几个案例
2015/12/09 Javascript
JavaScript构造函数详解
2015/12/27 Javascript
JavaScript中的闭包
2016/02/24 Javascript
js实现手机发送验证码功能
2017/03/13 Javascript
Angular2平滑升级到Angular4的步骤详解
2017/03/29 Javascript
详解如何使用vue-cli脚手架搭建Vue.js项目
2017/05/19 Javascript
vue 实现类似淘宝星级评分的示例
2018/03/01 Javascript
使用vue-cli打包过程中的步骤以及问题的解决
2018/05/08 Javascript
vue中axios请求的封装实例代码
2019/03/23 Javascript
JS查找孩子节点简单示例
2019/07/25 Javascript
Python下rrdtool模块的基本使用方法
2015/11/13 Python
Python中列表list以及list与数组array的相互转换实现方法
2017/09/22 Python
python字典快速保存于读取的方法
2018/03/23 Python
Python中几种属性访问的区别与用法详解
2018/10/10 Python
Python设计模式之解释器模式原理与用法实例分析
2019/01/10 Python
python hashlib加密实现代码
2019/10/17 Python
python统计文章中单词出现次数实例
2020/02/27 Python
如何导出python安装的所有模块名称和版本号到文件中
2020/06/05 Python
python爬虫使用scrapy注意事项
2020/11/23 Python
法国高保真音响和家庭影院商店:Son Video
2019/04/26 全球购物
大学生求职中的自我评价
2013/10/01 职场文书
中文系学生自荐信范文
2013/11/13 职场文书
社区十八大感言
2014/01/19 职场文书
丑小鸭教学反思
2014/02/03 职场文书
还款承诺书范本
2015/01/20 职场文书
个人原因辞职信模板
2015/05/13 职场文书
天鹅湖观后感
2015/06/09 职场文书
Nginx报404错误的详细解决方法
2022/07/23 Servers