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. Swift 里字符串(四)large sting

    对于普通的字符串,对应的_StringObject 有两个存储属性: _countAndFlagsBits: UInt64 _object: Builtin.BridgeObject _countAn ...

  2. 【树】Binary Tree Right Side View

    题目: Given a binary tree, imagine yourself standing on the right side of it, return the values of the ...

  3. 弱网测试--使用fiddler进行弱网测试

    弱网测试原理以及方法(一) 一.为什么要进行弱网测试? 按照移动特性,各种网络连接协议不同,导致通信的信号不同,速率也不同,影响应用的加载时间.可用性.稳定性 二.什么样的网络属于弱网? 低于2g速率 ...

  4. 软件魔方制作系统启动盘并安装win7系统

    不多说,直接上干货! 推荐软件:软件魔方 http://mofang.ruanmei.com/ 这里,我想说的是,这个软件来制作系统盘,是真的方便和好处多多.具体我不多说,本人也是用过其他的如大白菜等 ...

  5. Python -- Gui编程 -- MFC的使用

    1.消息框 mfcDialog.py import win32ui import win32con from pywin.mfc import dialog class MyDialog(dialog ...

  6. IndexDB的基本操作

    1.前端存储的一个数据库. 2.介绍一下基本操作. <!DOCTYPE html> <html> <head> <meta charset="UTF ...

  7. vmware不显示usb图标解决办法

    一.1.打开service.msc服务.​ 2.在“服务”中启动“VMware USB Arbitration Service”服务项.​ 3.重启vmware​ 二.如果有安全软件要设置vmware ...

  8. fail2ban的使用以及防暴力破解与邮件预警

    fail2ban可以监视你的系统日志,然后匹配日志的错误信息(正则式匹配)执行相应的屏蔽动作(一般情况下是防火墙),而且可以发送e-mail通知系统管理员! fail2ban运行机制:简单来说其功能就 ...

  9. java-多线程future等待返回

    多线程中需要返回值, java中有个fork/join模型, 没有细研究, 简单实用callable进行了返回 Thread1 package com.iwhere.easy.travel.test. ...

  10. jenkins自动化部署

    目录 typora-copy-images-to: pic Jenkins部署文档 一.安装环境 1.CentOs下安装JDK 2.CentOS安装Maven 3.CentOS安装git 4.Cent ...