网站首页 > 技术教程 正文
1. QSplitter简介
PyQt5分割窗口(QSplitter),用于将多个子窗口或控件分割成可调整大小的部分。允许通过拖动分割器手柄来调整各个部分的大小,从而方便地管理界面布局。
2. QSplitter案例
import sys
from PyQt5.QtWidgets import QApplication, QWidget, QSplitter, QFrame, QTextEdit, QHBoxLayout, QPushButton
from PyQt5.QtCore import Qt
class QSplitterDemo(QWidget):
def __init__(self):
super().__init__()
self.init_ui()
def init_ui(self):
self.setWindowTitle('QSplitter分割窗口')
self.resize(600, 400)
# 创建顶部左侧QFrame
top_left_layout = QHBoxLayout()
top_left_layout.addWidget(QPushButton('顶部左侧QFrame'))
top_left = QFrame()
top_left.setFrameShape(QFrame.StyledPanel) # 设置框架形状
top_left.setLayout(top_left_layout) # 为QFrame框架设置布局
# 创建底部QFrame
bottom_layout = QHBoxLayout()
bottom_layout.addWidget(QPushButton('底部QFrame'))
bottom = QFrame()
bottom.setFrameShape(QFrame.StyledPanel)
bottom.setLayout(bottom_layout)
# 创建分割窗口对象,并设置水平布局
splitter_1 = QSplitter()
# 设置分割窗口的方向
splitter_1.setOrientation(Qt.Horizontal)
# 设置控件之间的间隔
splitter_1.setHandleWidth(5)
# 顶部分割窗口添加控件
splitter_1.addWidget(top_left)
splitter_1.addWidget(QTextEdit())
splitter_1.addWidget(QTextEdit())
# 底部分割创建添加控件
splitter_2 = QSplitter(Qt.Vertical)
splitter_2.addWidget(splitter_1)
splitter_2.addWidget(bottom)
h_layout = QHBoxLayout(self)
h_layout.addWidget(splitter_2)
splitter_1.splitterMoved.connect(self.splitter_moved)
def splitter_moved(self, pos, index):
print(pos, index)
if __name__ == '__main__':
app = QApplication(sys.argv)
w = QSplitterDemo()
w.show()
sys.exit(app.exec())
3. 运行结果
4. 常用方法
方法 | 描述 |
addWidget(widget) | 向 QSplitter 中添加一个控件 |
setOrientation(Qt.Horizontal or Qt.Vertical) | 设置 QSplitter 的方向(水平或垂直) |
tsetSizes([size1, size2, ...]) | 设置每个控件的初始大小 |
sizes() | 获取当前控件的大小列表 |
5. 常用信号
方法 | 描述 |
splitterMoved(int pos, int index) | 当用户移动分割条时,触发此信号 |
猜你喜欢
- 2024-11-20 【Qt开发】QSplitter的使用和设置
- 2024-11-20 学习QT之QSplitter、QDockWidget、QStackedWidget
- 2024-11-20 知识库构建基础-ChatGPT PROMPTs Splitter
- 2024-11-20 将免费进行到底(八):视频简单剪辑及合成软件 JoinerSplitter
- 2024-11-20 岩芯切割机---Core Splitter
- 2024-11-20 LangChain入门-CharacterTextSplitter
- 2024-11-20 以太联Itellinet安防小知识:PoE 供电监控摄像头接线方式
- 2024-11-20 PDF Splitter Pro 方便好用的PDF文件拆分工具
- 2024-11-20 整轨听歌不方便,Splitter it
- 2024-11-20 光纤耦合器-实现光能量再分配
你 发表评论:
欢迎- 最近发表
-
- 阿里P8大佬总结的Nacos入门笔记,从安装到进阶小白也能轻松学会
- Linux环境下,Jmeter压力测试的搭建及报错解决方法
- Java 在Word中合并单元格时删除重复值
- 解压缩软件哪个好用?4款大多数人常用的软件~
- Hadoop高可用集群搭建及API调用(hadoop3高可用)
- lombok注解@Data没有toString和getter、setter问题
- Apache Felix介绍(apache fineract)
- Spring Boot官方推荐的Docker镜像编译方式-分层jar包
- Gradle 使用手册(gradle详细教程)
- 字节二面:为什么SpringBoot的 jar可以直接运行?
- 标签列表
-
- 下划线是什么 (87)
- 精美网站 (58)
- qq登录界面 (90)
- nginx 命令 (82)
- nginx .http (73)
- nginx lua (70)
- nginx 重定向 (68)
- Nginx超时 (65)
- nginx 监控 (57)
- odbc (59)
- rar密码破解工具 (62)
- annotation (71)
- 红黑树 (57)
- 智力题 (62)
- php空间申请 (61)
- 按键精灵 注册码 (69)
- 软件测试报告 (59)
- ntcreatefile (64)
- 闪动文字 (56)
- guid (66)
- abap (63)
- mpeg 2 (65)
- column (63)
- dreamweaver教程 (57)
- excel行列转换 (56)
本文暂时没有评论,来添加一个吧(●'◡'●)