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 08 Python
Python如何生成树形图案
Jan 03 Python
Python使用pickle模块报错EOFError Ran out of input的解决方法
Aug 16 Python
python爬取内容存入Excel实例
Feb 20 Python
详解用Python为直方图绘制拟合曲线的两种方法
Aug 21 Python
Python3 翻转二叉树的实现
Sep 30 Python
python 变量初始化空列表的例子
Nov 28 Python
python GUI库图形界面开发之PyQt5时间控件QTimer详细使用方法与实例
Feb 26 Python
Django URL参数Template反向解析
Nov 24 Python
pandas中DataFrame检测重复值的实现
May 26 Python
Python中异常处理用法
Nov 27 Python
Pandas 数据编码的十种方法
Apr 20 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 Array交叉表实现代码
2010/08/05 PHP
PHP函数分享之curl方式取得数据、模拟登陆、POST数据
2014/06/04 PHP
Laravel框架路由管理简单示例
2019/05/07 PHP
js操作textarea方法集合封装(兼容IE,firefox)
2011/02/22 Javascript
Jquery颜色选择器ColorPicker实现代码
2012/11/14 Javascript
点击显示指定元素隐藏其他同辈元素的方法
2014/02/19 Javascript
JavaScript和jquery获取父级元素、子级元素、兄弟元素的方法
2016/06/05 Javascript
浅析JavaScript中命名空间namespace模式
2016/06/22 Javascript
jQuery制作圣诞主题页面 更像是爱情影集
2016/08/10 Javascript
有关文件上传 非ajax提交 得到后台数据问题
2016/10/12 Javascript
js图片加载效果实例代码(延迟加载+瀑布流加载)
2017/05/12 Javascript
angular2/ionic2 实现搜索结果中的搜索关键字高亮的示例
2018/08/17 Javascript
浅谈Webpack多页应用HMR卡住问题
2019/04/24 Javascript
微信小程序上传图片并等比列压缩到指定大小的实例代码
2019/10/24 Javascript
如何在vue中使用kindeditor富文本编辑器
2020/12/19 Vue.js
Python的加密模块md5、sha、crypt使用实例
2014/09/28 Python
解析Python中while true的使用
2015/10/13 Python
django实现同一个ip十分钟内只能注册一次的实例
2017/11/03 Python
python中实现k-means聚类算法详解
2017/11/11 Python
Python分支结构(switch)操作简介
2018/01/17 Python
Python3导入自定义模块的三种方法详解
2018/04/13 Python
浅谈numpy数组中冒号和负号的含义
2018/04/18 Python
python 定义n个变量方法 (变量声明自动化)
2018/11/10 Python
Django框架模板注入操作示例【变量传递到模板】
2018/12/19 Python
python调用虹软2.0第三版的具体使用
2019/02/22 Python
12个Python程序员面试必备问题与答案(小结)
2019/06/24 Python
如何利用Python模拟GitHub登录详解
2019/07/15 Python
详解用python生成随机数的几种方法
2019/08/04 Python
python pycharm的安装及其使用
2019/10/11 Python
没编程基础可以学python吗
2020/06/17 Python
Python unittest基本使用方法代码实例
2020/06/29 Python
全球工业:Global Industrial
2020/02/01 全球购物
运动会主持词大全
2015/07/02 职场文书
小学语文教师研修感悟
2015/11/18 职场文书
劳务派遣管理制度(样本)
2019/08/23 职场文书
Python 循环读取数据内存不足的解决方案
2021/05/25 Python