【PyQt5 学习记录】010:QSplitter
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的更多相关文章
- 【PyQt5 学习记录】006:重写窗口事件及QMessageBox
#!/usr/bin/env python import sys from PyQt5.QtWidgets import (QApplication, QMainWindow, QMessageBox ...
- 【PyQt5 学习记录】011:使用 QListWidet 创建列表
使用 QListWidet 创建列表 作者: 八月未见 博客: https://www.cnblogs.com/jmtm/ 创建列表: list_widget = QListWidget() 插入项目 ...
- 【PyQt5 学习记录】005:QMainWindow 及状态栏、菜单栏和工具栏
#!/usr/bin/env python import sys from PyQt5.QtWidgets import (QApplication, QMainWindow, QWidget, QA ...
- 【PyQt5 学习记录】004:简单QThread笔记
在文本编辑框中每隔几秒添加一行文本,代码如下: #!/usr/bin/python3 # -*- coding:utf-8 -*- import sys from PyQt5.QtWidgets im ...
- 【PyQt5 学习记录】001:第一个界面
PyQt5 的安装很简单: pip3 install PyQt5 然后就是写一个最简单的界面试试手: import sys from PyQt5.QtWidgets import QApplicati ...
- 【PyQt5 学习记录】009:批量创建组件并查找
这里需要在创建组件时使用 setObjectName() 为其添加 objectName 属性,再通过 findChild() 或者 findChildren() 函数来查找. 举个栗子,批量创建10 ...
- 【PyQt5 学习记录】008:改变窗口样式之二
super(MainWindow, self).__init__(parent, flags=Qt.Widget) 首先需要关闭窗口的默认样式,以方便定时想要的样式: self.setWindowFl ...
- 【PyQt5 学习记录】007:改变窗口样式之一
class MainWindow(QMainWindow): 2 def __init__(self, parent=None): 3 super(MainWindow, self).__init__ ...
- 【PyQt5 学习记录】003:水平布局和获取屏幕尺寸
#!/usr/bin/python3 # -*- coding:utf-8 -*- import sys from PySide2.QtWidgets import (QApplication, QW ...
随机推荐
- java API连接虚拟机上的hbase
今天用本地的eclipse连接虚拟机上的hbase数据库,代码如下: public static void main(String[] args) throws Exception{ Configur ...
- 大数据技术之_19_Spark学习_04_Spark Streaming 应用解析小结
========== Spark Streaming 是什么 ==========1.SPark Streaming 是 Spark 中一个组件,基于 Spark Core 进行构建,用于对流式进行处 ...
- 【转】Ext JS 集合1713个icon图标的CSS文件
原文:http://extjs.org.cn/node/715 由于最近在研究Extjs4.1.1,没想到Extjs没有自带的iconCls所使用的图标样式css,就是用那个写那个的,纠结了半天,网上 ...
- Servlet Filter(过滤器)、Filter是如何实现拦截的、Filter开发入门
Servlet Filter(过滤器).Filter是如何实现拦截的.Filter开发入门 Filter简介 Filter也称之为过滤器,它是Servlet技术中最激动人心的技术,WEB开发人员通过F ...
- Flow中的Switch分析
A switch statement can complete normally iff at least one of the following is true: (1)The switch bl ...
- css 设置滚动条的样式
/*移动端显示滚动条*/ .layui-table-body::-webkit-scrollbar { -webkit-appearance: none; } .layui-table-body::- ...
- R语言-RStudio快捷键总结
一.控制台 功能 Windows & Linux Mac 移动鼠标到控制台 Ctrl+2 Ctrl+2 移动到鼠标命令编辑 Ctrl+1 Ctrl+1 控制台清屏 Ctrl+L Comm ...
- elasticsearch(一) 之 elasticsearch初识
目录 一 .elasticsearch 二 . elasticsearch 名词解释 集群(cluster) 节点(node) 索引(index) type(类型) Document(文档) shar ...
- URL编码分析与乱码解决方案
一.问题的由来 URL就是网址,只要上网,就一定会用到. 一般来说,URL只能使用英文字母.阿拉伯数字和某些标点符号,不能使用其他文字和符号.比如,世界上有英文字母的网址"http://ww ...
- 哪个先执行:@PostConstruct和@Bean的initMethod?
结论: /** * step1:执行构造函数 * step2:执行使用@PostConstruct注解修饰的方法[如果有多个,则执行顺序不确定] * step3:执行@Bean注解中initMetho ...