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中使用glob和rmtree删除目录子目录及所有文件的例子
Nov 21 Python
使用Python脚本操作MongoDB的教程
Apr 16 Python
深入浅析python定时杀进程
Jun 06 Python
利用python爬取软考试题之ip自动代理
Mar 28 Python
Python中scatter函数参数及用法详解
Nov 08 Python
Python实现矩阵转置的方法分析
Nov 24 Python
pandas表连接 索引上的合并方法
Jun 08 Python
tensorflow 获取模型所有参数总和数量的方法
Jun 14 Python
Numpy之将矩阵拉成向量的实例
Nov 30 Python
python实现三阶魔方还原的示例代码
Apr 28 Python
Python基础知识学习之类的继承
May 31 Python
手残删除python之后的补救方法
Jun 26 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/03 咖啡文化
第三节 定义一个类 [3]
2006/10/09 PHP
一个好用的分页函数
2006/11/16 PHP
IIS下配置Php+Mysql+zend的图文教程
2006/12/08 PHP
php下实现折线图效果的代码
2007/04/28 PHP
php中JSON的使用与转换
2015/01/14 PHP
PHP实现仿Google分页效果的分页函数
2015/07/29 PHP
php 利用array_slice函数获取随机数组或前几条数据
2015/09/30 PHP
php中foreach结合curl实现多线程的方法分析
2016/09/22 PHP
分享20款美化网站的 jQuery Lightbox 灯箱插件
2014/10/10 Javascript
详解Javascript 装载和执行
2014/11/17 Javascript
ES6中非常实用的新特性介绍
2016/03/10 Javascript
分享一个原生的JavaScript拖动方法
2016/09/25 Javascript
基于jQuery的checkbox全选问题分析
2016/11/18 Javascript
实例解析jQuery中如何取消后续执行内容
2016/12/01 Javascript
纯js实现悬浮按钮组件
2016/12/17 Javascript
nodejs批量下载图片的实现方法
2017/05/19 NodeJs
JS正则表达式完美实现身份证校验功能
2017/10/18 Javascript
基于Vue和Element-Ui搭建项目的方法
2019/09/06 Javascript
JS实现简单省市二级联动
2019/11/27 Javascript
python连接sql server乱码的解决方法
2013/01/28 Python
python实现的文件同步服务器实例
2015/06/02 Python
Python编程中装饰器的使用示例解析
2016/06/20 Python
Python切图九宫格的实现方法
2019/10/10 Python
python定时任务 sched模块用法实例
2019/11/04 Python
python如何把字符串类型list转换成list
2020/02/18 Python
Python *args和**kwargs用法实例解析
2020/03/02 Python
python学习笔记之多进程
2020/08/06 Python
python实现AHP算法的方法实例(层次分析法)
2020/09/09 Python
Html5导航栏吸顶方案原理与对比实现
2020/06/10 HTML / CSS
伯克斯奥特莱斯:Burkes Outlet
2019/03/30 全球购物
闭幕式主持词
2014/04/02 职场文书
副科竞争上岗演讲稿
2014/05/12 职场文书
党员批评与自我批评发言
2014/10/02 职场文书
“学党章、守党纪、讲党规”学习心得体会
2016/01/14 职场文书
sql server删除前1000行数据的方法实例
2021/08/30 SQL Server