python GUI库图形界面开发之PyQt5动态(可拖动控件大小)布局控件QSplitter详细使用方法与实例


Posted in Python onMarch 06, 2020

PyQt5动态(可拖动控件大小)布局控件QSplitter简介

PyQt还提供了特殊的布局管理器QSplitter。它可以动态地拖动子控件之间的边界,算是一个动态的布局管理器,QSplitter允许用户拖动子控件的边界控制子控件的大小,并提供一个处理拖曳子控件的控制器

在QSplitter对象中各子控件默认是横向布局的,可以使用Qt,Vertical进行垂直布局

QSplitter类中常用的方法

方法 描述
addWidget() 将小控件添加到QSplitter管理器的布局中
indexOf() 返回小控件在QSplitter管理器中的索引
insertWidget() 根据指定的索引将一个控件插入到QSplitter管理器中
setOrientation() 设置布局的方向
Qt.Horizontal:水平方向
Qt.Vertical:垂直方向
setSizes() 设置控件的初始大小
count() 返回小控件在QSplitter管理器中的数量

QSplitter的使用实例

import sys
from PyQt5.QtWidgets import *
from PyQt5.QtCore import *
from PyQt5.QtGui import *
class SplitterExample(QWidget):
  def __init__(self):
    super(SplitterExample, self).__init__()
    self.initUI()
  def initUI( self ):
    #设置全局布局为水平布局,设置标题与初始大小窗口
    hbox=QHBoxLayout()
    self.setWindowTitle("QSplitter例子")
    self.setGeometry(300,300,300,200)
    #实例化QFrame控件
    topLeft=QFrame()
    topLeft.setFrameShape(QFrame.StyledPanel)
    bottom=QFrame()
    bottom.setFrameShape(QFrame.StyledPanel)
    #实例化QSplitter控件并设置初始为水平方向布局
    splitter1=QSplitter(Qt.Horizontal)
    textedit=QTextEdit()
    #向Splitter内添加控件。并设置游戏的初始大小
    splitter1.addWidget(topLeft)
    splitter1.addWidget(textedit)
    splitter1.setSizes([100,200])
    #实例化Splitter管理器,添加控件到其中,设置垂直方向
    splitter2=QSplitter(Qt.Vertical)
    splitter2.addWidget(splitter1)
    splitter2.addWidget(bottom)
    #设置窗体全局布局以及子布局的添加
    hbox.addWidget(splitter2)
    self.setLayout(hbox)
if __name__ == '__main__':
  app=QApplication(sys.argv)
  demo=SplitterExample()
  demo.show()
  sys.exit(app.exec_())

运行效果如下

python GUI库图形界面开发之PyQt5动态(可拖动控件大小)布局控件QSplitter详细使用方法与实例

代码分析

在这个例子中,显示了使用两个QSplitter组织的两个QFame控件,其中第一个QSplitter对象包含一个QFrame对象和QTextEdit对象,并按照水平方向进行布局

splitter1=QSplitter(Qt.Horizontal)
    textedit=QTextEdit()
    #向Splitter内添加控件。并设置游戏的初始大小
    splitter1.addWidget(topLeft)
    splitter1.addWidget(textedit)
    splitter1.setSizes([100,200])

第二个QSplitter对象添加第一个QSplitter对象和一个QFrame对象,并按照垂直布局

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

本文主要介绍了PyQt5动态(可拖动控件大小)布局控件QSplitter详细使用方法与实例,更多关于PyQt5布局控件的使用知识请查看下面的相关链接

Python 相关文章推荐
详解Python中列表和元祖的使用方法
Apr 25 Python
Python中使用OpenCV库来进行简单的气象学遥感影像计算
Feb 19 Python
python中PIL安装简单教程
Apr 21 Python
python画折线图的程序
Jul 26 Python
python简单操作excle的方法
Sep 12 Python
很酷的python表白工具 你喜欢我吗
Apr 11 Python
python保存字典和读取字典的实例代码
Jul 07 Python
Pytorch GPU显存充足却显示out of memory的解决方式
Jan 13 Python
Python基础之字典常见操作经典实例详解
Feb 26 Python
详解Python 中的容器 collections
Aug 17 Python
安装不同版本的tensorflow与models方法实现
Feb 20 Python
Python办公自动化之教你用Python批量识别发票并录入到Excel表格中
Jun 26 Python
浅谈python的elementtree模块处理中文注意事项
Mar 06 #Python
python GUI库图形界面开发之PyQt5表单布局控件QFormLayout详细使用方法与实例
Mar 06 #Python
Python使用ElementTree美化XML格式的操作
Mar 06 #Python
Python使用requests xpath 并开启多线程爬取西刺代理ip实例
Mar 06 #Python
Python 批量读取文件中指定字符的实现
Mar 06 #Python
python GUI库图形界面开发之PyQt5布局控件QGridLayout详细使用方法与实例
Mar 06 #Python
python3 xpath和requests应用详解
Mar 06 #Python
You might like
PHP配置文件中最常用四个ini函数
2007/03/19 PHP
Php Mssql操作简单封装支持存储过程
2009/12/11 PHP
php根据分类合并数组的方法实例详解
2013/11/06 PHP
CI框架封装的常用图像处理方法(缩略图,水印,旋转,上传等)
2016/11/22 PHP
jQuery 中关于CSS操作部分使用说明
2007/06/10 Javascript
JavaScript实现Java中StringBuffer的方法
2015/02/09 Javascript
JavaScript实现的多种鼠标拖放效果
2015/11/03 Javascript
javascript实现html页面之间参数传递的四种方法实例分析
2015/12/15 Javascript
详解Vue用axios发送post请求自动set cookie
2017/05/10 Javascript
基于Vue的延迟加载插件vue-view-lazy
2018/05/21 Javascript
JS实现可切换图片的幻灯切换效果示例
2019/05/24 Javascript
node-red File读取好保存实例讲解
2019/09/11 Javascript
Vue实现验证码功能
2019/12/03 Javascript
Python中的Numpy入门教程
2014/04/26 Python
python实现二分查找算法
2017/09/21 Python
ubuntu安装mysql pycharm sublime
2018/02/20 Python
对python数据切割归并算法的实例讲解
2018/12/12 Python
Python关于excel和shp的使用在matplotlib
2019/01/03 Python
Django实现学员管理系统
2019/02/26 Python
Pandas之Dropna滤除缺失数据的实现方法
2019/06/25 Python
分享PyCharm的几个使用技巧
2019/11/10 Python
python迭代器常见用法实例分析
2019/11/22 Python
python3实现在二叉树中找出和为某一值的所有路径(推荐)
2019/12/26 Python
python3.6使用SMTP协议发送邮件
2020/05/20 Python
pandas处理csv文件的方法步骤
2020/10/16 Python
html5是什么_动力节点Java学院整理
2017/07/07 HTML / CSS
澳大利亚票务和娱乐市场领导者:Ticketmaster
2017/03/03 全球购物
大码女装:Ulla Popken
2019/08/06 全球购物
仓库管理员岗位职责
2014/03/19 职场文书
护理专科毕业自荐信范文
2014/04/21 职场文书
委托证明模板
2014/09/16 职场文书
2014年党建工作总结
2014/11/11 职场文书
大卫科波菲尔读书笔记
2015/06/30 职场文书
交通安全学习心得体会
2016/01/18 职场文书
高中16字霸气押韵班级口号集锦!
2019/06/27 职场文书
iPhone13再次曝光
2021/04/15 数码科技