import sys
from PyQt5.QtWidgets import (QApplication,
QWidget,
QSplitter,
QTextEdit,
QPushButton,
QLabel)
from PyQt5.QtCore import (Qt, QSettings) class Window(QWidget):
def __init__(self, parent=None):
super(Window, self).__init__(parent, flags=Qt.Window) # 创建父控件为 Window 的分割窗口:
splitter_0 = QSplitter(self)
# 设置分割窗口下的控件不可折叠:
splitter_0.setChildrenCollapsible(False)
# 设置分割条的宽度:
splitter_0.setHandleWidth(35)
# 设置分割窗口大小:
splitter_0.resize(600, 450) splitter_0.addWidget(QTextEdit()) # 创建父控件为 splitter_0 的分割窗口:
splitter_1 = QSplitter(splitter_0)
# 设置分割窗口的方向:
splitter_1.setOrientation(Qt.Horizontal)
# 为分割窗口添加控件:
splitter_1.addWidget(QTextEdit('横向排列'))
splitter_1.addWidget(QTextEdit('横向排列'))
splitter_1.addWidget(QTextEdit('横向排列'))
# 设置分割窗口下的控件的宽度,如果是垂直排列的则是高度:
splitter_1.setSizes([120, 80, 60])
# 设置分隔条是否跟随鼠标移动:
splitter_1.setOpaqueResize(False) # 创建父控件为 splitter_0 且垂直分割的分割窗口:
splitter_2 = QSplitter(Qt.Vertical, splitter_0)
# 为分割窗口插入控件:
splitter_2.insertWidget(0, QTextEdit('垂直排列'))
splitter_2.insertWidget(1, QTextEdit('垂直排列'))
# 根据 ID 来设置分割窗口中的控件比例:
splitter_2.setStretchFactor(0, 1)
splitter_2.setStretchFactor(1, 3)
# 根据 ID 来设置分割窗口下的控件是否可以折叠:
splitter_2.setCollapsible(0, False)
splitter_2.setCollapsible(1, True) self.show() if __name__ == "__main__":
app = QApplication(sys.argv)
window = Window()
sys.exit(app.exec_())

界面如下图:

动图效果演示:

【PyQt5 学习记录】010:QSplitter的更多相关文章

  1. 【PyQt5 学习记录】006:重写窗口事件及QMessageBox

    #!/usr/bin/env python import sys from PyQt5.QtWidgets import (QApplication, QMainWindow, QMessageBox ...

  2. 【PyQt5 学习记录】011:使用 QListWidet 创建列表

    使用 QListWidet 创建列表 作者: 八月未见 博客: https://www.cnblogs.com/jmtm/ 创建列表: list_widget = QListWidget() 插入项目 ...

  3. 【PyQt5 学习记录】005:QMainWindow 及状态栏、菜单栏和工具栏

    #!/usr/bin/env python import sys from PyQt5.QtWidgets import (QApplication, QMainWindow, QWidget, QA ...

  4. 【PyQt5 学习记录】004:简单QThread笔记

    在文本编辑框中每隔几秒添加一行文本,代码如下: #!/usr/bin/python3 # -*- coding:utf-8 -*- import sys from PyQt5.QtWidgets im ...

  5. 【PyQt5 学习记录】001:第一个界面

    PyQt5 的安装很简单: pip3 install PyQt5 然后就是写一个最简单的界面试试手: import sys from PyQt5.QtWidgets import QApplicati ...

  6. 【PyQt5 学习记录】009:批量创建组件并查找

    这里需要在创建组件时使用 setObjectName() 为其添加 objectName 属性,再通过 findChild() 或者 findChildren() 函数来查找. 举个栗子,批量创建10 ...

  7. 【PyQt5 学习记录】008:改变窗口样式之二

    super(MainWindow, self).__init__(parent, flags=Qt.Widget) 首先需要关闭窗口的默认样式,以方便定时想要的样式: self.setWindowFl ...

  8. 【PyQt5 学习记录】007:改变窗口样式之一

    class MainWindow(QMainWindow): 2 def __init__(self, parent=None): 3 super(MainWindow, self).__init__ ...

  9. 【PyQt5 学习记录】003:水平布局和获取屏幕尺寸

    #!/usr/bin/python3 # -*- coding:utf-8 -*- import sys from PySide2.QtWidgets import (QApplication, QW ...

随机推荐

  1. [JavaScript] 将字符串数组转化为整型数组

    var dataStr="1,2,3,4,5";//原始字符串 var dataStrArr=dataStr.split(",");//分割成字符串数组 var ...

  2. margin 和 padding

    一图胜千言!!  参考 CSS padding margin border属性详解

  3. 下载Centos7 64位镜像

    下载Centos7 64位镜像 1.打开Centos官网 打开Centos官方网站地址:https://www.centos.org/,点击Get CentOS Now 2.点击Minimal ISO ...

  4. Android_问卷调查

    这个是一个简单的问卷调查,对于我这样的初学者可能会绞尽脑汁想尽办法,去实现一个看起来特别简单的功能,我这个是用Intent传参的办法,来实现将前边的调查来进行统计,并记录,之后将这些信息显示到最后一个 ...

  5. Windows下PATH等环境变量详解

    在学习JAVA的过程中,涉及到多个环境变量(environment variable)的概念,如PATH.正确地配置这些环境变量,是能够顺利学习.开发的前提.而经常出现的问题是:有的学习者能够按照提示 ...

  6. Android 开发工具类 02_DensityUtils

    常用单位转换的辅助类: 1.dp 转 px: 2.sp 转 px: 3.px 转 dp: 4.px 转 sp. import android.content.Context; import andro ...

  7. LetExpr表达式解读

    Integer a = 0; a++; 举个例子,如下: package com.test19; public class BugReport<T> { private T n; publ ...

  8. Python -- 网络编程 -- Socket发送文件

    客户端如果直接send两次,一次发文件名,一次发文件内容 服务端接受的时候会一起接收,不知怎么分开发送,或者分开接收, 或者全部接收再解析内容 今天发现传送mp3文件的时候没问题,传送文本文件的话,以 ...

  9. mysql 存储过程,函数,触发器

    存储过程和函数 mysql> HELP CREATE PROCEDURE; Name: 'CREATE PROCEDURE' Description: Syntax: CREATE [DEFIN ...

  10. Boosting和Bagging的异同

    二者都是集成学习算法,都是将多个弱学习器组合成强学习器的方法. 1.Bagging (主要关注降低方差) Bagging即套袋法,其算法过程如下: A)从原始样本集中抽取训练集.每轮从原始样本集中使用 ...