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实现的Google IP 可用性检测脚本
Apr 23 Python
python中根据字符串调用函数的实现方法
Jun 12 Python
对Python中数组的几种使用方法总结
Jun 28 Python
在Python中增加和插入元素的示例
Nov 01 Python
为什么你还不懂得怎么使用Python协程
May 13 Python
python tkinter canvas 显示图片的示例
Jun 13 Python
Python线程协作threading.Condition实现过程解析
Mar 12 Python
python数据库编程 Mysql实现通讯录
Mar 27 Python
Tensorflow中k.gradients()和tf.stop_gradient()用法说明
Jun 10 Python
python读取excel数据并且画图的实现示例
Feb 08 Python
python plt.plot bar 如何设置绘图尺寸大小
Jun 01 Python
python 判断字符串当中是否包含字符(str.contain)
Jun 01 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
php header功能的使用
2013/10/28 PHP
PHP实现的通过参数生成MYSQL语句类完整实例
2016/04/11 PHP
浅谈PHP中try{}catch{}的使用方法
2016/12/09 PHP
PHP检查网站是否宕机的方法示例
2017/07/24 PHP
静态页面的值传递(三部曲)
2006/09/25 Javascript
Z-Blog中用到的js代码
2007/03/15 Javascript
Javascript 学习书 推荐
2009/06/13 Javascript
Js event事件在IE、FF兼容性问题
2011/01/01 Javascript
2014年最火的Node.JS后端框架推荐
2014/10/27 Javascript
javascript 实现 原路返回
2015/01/21 Javascript
在网页中插入百度地图的步骤详解
2016/12/02 Javascript
详解JavaScript中的属性和特性
2016/12/08 Javascript
JS实现遍历不规则多维数组的方法
2018/03/21 Javascript
vue props传值失败 输出undefined的解决方法
2018/09/11 Javascript
jsonp跨域获取百度联想词的方法分析
2019/05/13 Javascript
[49:40]2018DOTA2亚洲邀请赛小组赛 A组加赛 TNC vs Newbee
2018/04/03 DOTA
python爬取淘宝商品详情页数据
2018/02/23 Python
python spyder中读取txt为图片的方法
2018/04/27 Python
对Python3中dict.keys()转换成list类型的方法详解
2019/02/03 Python
用python3读取python2的pickle数据方式
2019/12/25 Python
python3实现在二叉树中找出和为某一值的所有路径(推荐)
2019/12/26 Python
Python如何对XML 解析
2020/06/28 Python
python将下载到本地m3u8视频合成MP4的代码详解
2020/11/24 Python
HTML5 Canvas中使用用路径描画圆弧
2015/01/01 HTML / CSS
英国复古服装和球衣购买网站:3Retro Football
2018/07/09 全球购物
亚洲航空公司官方网站:AirAsia
2019/11/25 全球购物
小学生期末评语
2014/04/21 职场文书
小学生国旗下演讲稿
2014/04/25 职场文书
2014年消防工作总结
2014/11/21 职场文书
工厂员工辞职信范文
2015/05/12 职场文书
毕业实习单位意见
2015/06/04 职场文书
工程移交协议书
2016/03/24 职场文书
来探秘“德国中小企业”的成功之道
2019/07/26 职场文书
ajax请求前端跨域问题原因及解决方案
2021/10/16 Javascript
防止web项目中的SQL注入
2021/12/06 MySQL
python井字棋游戏实现人机对战
2022/04/28 Python