PyQt5每天必学之QSplitter实现窗口分隔
作者:我的世界你曾经来过 时间:2021-12-26 16:33:48
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控件中。
程序执行后
来源:https://blog.csdn.net/weiaitaowang/article/details/52119394
标签:PyQt5,QSplitter,窗口
![](/images/zang.png)
![](/images/jiucuo.png)
猜你喜欢
NumPy进行统计分析
2023-09-21 00:16:15
![](https://img.aspxhome.com/file/2023/7/97007_0s.png)
代码总结Python2 和 Python3 字符串的区别
2023-05-25 00:58:52
php中让上传的文件大小在上传前就受限制的两种解决方法
2023-10-25 17:53:12
Python系统公网私网流量监控实现流程
2022-05-16 07:55:39
![](https://img.aspxhome.com/file/2023/4/120884_0s.jpg)
python处理PHP数组文本文件实例
2023-11-09 23:56:03
win10环境下配置vscode python开发环境的教程详解
2022-09-06 21:19:49
![](https://img.aspxhome.com/file/2023/1/71991_0s.png)
Django博客系统注册之创建用户模块应用
2021-08-06 15:15:20
![](https://img.aspxhome.com/file/2023/0/97680_0s.png)
Python3.5 Json与pickle实现数据序列化与反序列化操作示例
2022-04-08 17:53:55
![](https://img.aspxhome.com/file/2023/1/102721_0s.png)
Swift 3.0在集合类数据结构上的一些新变化总结
2023-10-19 02:35:47
Python 不设计 do-while 循环结构的理由
2021-08-04 11:55:19
![](https://img.aspxhome.com/file/2023/9/68299_0s.jpg)
PHP getName()函数讲解
2023-06-06 08:28:25
![](https://img.aspxhome.com/file/2023/6/55406_0s.png)
JS的IE和FF兼容性问题汇总
2008-03-08 13:01:00
Python使用signal定时结束AsyncIOScheduler任务的问题
2022-12-19 21:28:11
Python数据结构之队列详解
2023-11-17 14:04:34
![](https://img.aspxhome.com/file/2023/5/76795_0s.png)
python对于requests的封装方法详解
2023-02-06 15:29:48
oracle 性能优化建议小结
2010-04-22 16:32:00
web脚本程序攻击的防范
2007-10-18 13:29:00
Python Matplotlib绘制多子图详解
2021-01-11 11:27:05
![](https://img.aspxhome.com/file/2023/7/125177_0s.jpg)
利用python实现逐步回归
2023-10-05 19:24:27
![](https://img.aspxhome.com/file/2023/4/80584_0s.jpg)
python udp如何实现同时收发信息
2023-12-16 10:06:33
![](https://img.aspxhome.com/file/2023/2/109952_0s.png)