Qt - QSplitter组件功能及用法

news/2026/1/9 4:53:39/文章来源:https://www.cnblogs.com/zhuchunlin/p/19447676

QSplitter 是 Qt 中的一个布局管理组件,主要用于创建可拖动的分隔条,让用户能够动态调整子控件的大小。

 在 Qt Designer(UI 设计界面)中,QSplitter 确实不会像按钮、标签那样直接出现在左侧的组件列表中。这是因为 QSplitter 的使用方式比较特殊。

 

在 Qt Designer 中创建 QSplitter 的 3 种方法

方法 1:使用布局菜单(最常用)

步骤:
1. 在界面上放置两个或多个想要分隔的控件(如 QTextEdit、QListWidget 等)
2. 按住 Ctrl 键,同时选中这些控件
3. 右键点击选中的控件
4. 选择布局菜单中的:- "使用分裂器水平布局" (Lay Out Horizontally in Splitter)- 或 "使用分裂器垂直布局" (Lay Out Vertically in Splitter)

图示:

text
[QTextEdit]  [QListWidget]    // 选中这两个控件↓
右键 → 布局 → 使用分裂器水平布局↓
[QTextEdit | 分隔条 | QListWidget]  // 现在可以拖动分隔条了

方法 2:使用工具栏按钮

text
1. 选中多个控件
2. 在工具栏中找到布局按钮:- "水平分裂器布局" 图标:通常显示为两个矩形中间有分隔条- "垂直分裂器布局" 图标
3. 点击相应按钮即可

方法 3:在对象查看器中提升为 QSplitter

步骤:
1. 放置一个 QFrame 或 QWidget 作为容器
2. 右键点击该容器 → "提升为..."
3. 在对话框中:- "提升的类名称": 输入 "QSplitter"- "头文件": 输入 "QSplitter"
4. 点击 "添加" 然后 "提升"

 

1. 核心功能

  • 可调整区域:通过拖动分隔条来调整相邻控件的大小比例

  • 灵活布局:支持水平和垂直方向的分隔

  • 嵌套使用:可以嵌套多个 QSplitter 实现复杂布局

2. 基本用法示例

cpp
// 创建水平分隔器
QSplitter *splitter = new QSplitter(Qt::Horizontal);// 添加子控件
QTextEdit *leftWidget = new QTextEdit;
QTextEdit *rightWidget = new QTextEdit;splitter->addWidget(leftWidget);
splitter->addWidget(rightWidget);// 设置初始比例
splitter->setSizes(QList<int>() << 200 << 400);

3. 常用设置

cpp
// 设置方向(水平或垂直)
splitter->setOrientation(Qt::Vertical);// 设置子控件的最小大小
splitter->setMinimumSize(100, 100);// 设置是否可以折叠(双击分隔条)
splitter->setCollapsible(0, true);  // 第一个控件可折叠// 设置拖动手柄样式
splitter->setHandleWidth(10);
splitter->setOpaqueResize(true);  // 实时预览调整效果

4. 嵌套使用示例

cpp
// 创建主水平分隔器
QSplitter *mainSplitter = new QSplitter(Qt::Horizontal);// 左侧垂直分隔器
QSplitter *leftSplitter = new QSplitter(Qt::Vertical);
leftSplitter->addWidget(new QTextEdit);
leftSplitter->addWidget(new QTextEdit);// 右侧区域
QTextEdit *rightWidget = new QTextEdit;mainSplitter->addWidget(leftSplitter);
mainSplitter->addWidget(rightWidget);

5. 信号和槽

cpp
// 当分隔条位置改变时发出的信号
connect(splitter, &QSplitter::splitterMoved, [](int pos, int index){qDebug() << "分隔条位置改变:" << pos;});

6. 与布局管理器的比较

 
 
特性 QSplitter 布局管理器(QVBoxLayout等)
动态调整 ✅ 用户可拖动调整 ❌ 固定比例
布局方向 水平/垂直 多种布局方式
嵌套支持
代码复杂度 简单 相对复杂

 

7. 样式定制

// 自定义分隔条样式
splitter->setStyleSheet("QSplitter::handle {""    background-color: gray;""    border: 1px solid darkgray;""}"
);

 

 

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/1118809.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

YuukiPS启动器:原神玩家的智能管家

YuukiPS启动器&#xff1a;原神玩家的智能管家 【免费下载链接】Launcher-PC 项目地址: https://gitcode.com/gh_mirrors/la/Launcher-PC 游戏启动的痛点与解决方案 每位原神玩家都曾经历过这样的困扰&#xff1a;多账号切换需要频繁退出登录&#xff0c;不同版本间的…

API网关设计模式:AI列举限流与鉴权实施方案

API网关设计模式&#xff1a;AI服务限流与鉴权的实战方案 在AI模型日益普及的今天&#xff0c;一个参数仅1.5B的小型语言模型——比如VibeThinker-1.5B-APP——已经能在手机端或边缘设备上流畅运行。这类“轻量级但可用”的推理引擎正被广泛部署于教育平台、内部工具和开发者沙…

Steam创意工坊模组下载难题的终极解决方案

Steam创意工坊模组下载难题的终极解决方案 【免费下载链接】WorkshopDL WorkshopDL - The Best Steam Workshop Downloader 项目地址: https://gitcode.com/gh_mirrors/wo/WorkshopDL 还在为无法访问Steam创意工坊的精彩模组而苦恼吗&#xff1f;WorkshopDL作为一款革命…

缓存穿透怎么办?AI提供Redis布隆过滤器解决方案

缓存穿透怎么办&#xff1f;AI提供Redis布隆过滤器解决方案 在高并发系统中&#xff0c;一个看似不起眼的边缘请求&#xff0c;可能成为压垮数据库的最后一根稻草。想象一下&#xff1a;攻击者不断用随机ID请求用户信息&#xff0c;这些ID在数据库中根本不存在。每次请求都绕过…

7.在程序中链接静态库

在cmake中,链接静态库的命令如下: link_libraries( [...]) 如果该静态库不是系统提供的(自己制作或者使用第三方提供的静态库)可能出现静态库找不到的情况,此时可以将静态库的路径也指定出来: link_directories(…

Server-Sent Events实现:VibeThinker构建实时通知系统

Server-Sent Events实现&#xff1a;VibeThinker构建实时通知系统 在如今的AI交互系统中&#xff0c;用户早已不再满足于“提问—等待—接收结果”这种黑箱式体验。尤其是在数学推理、编程解题这类需要逻辑展开的任务中&#xff0c;人们更希望看到模型“边想边说”的全过程——…

Mapshaper:地理数据处理的神器,零基础也能轻松上手

Mapshaper&#xff1a;地理数据处理的神器&#xff0c;零基础也能轻松上手 【免费下载链接】mapshaper Tools for editing Shapefile, GeoJSON, TopoJSON and CSV files 项目地址: https://gitcode.com/gh_mirrors/ma/mapshaper 还在为复杂的地理数据处理而烦恼吗&#…

Z-Image真实感生成实测:人像、产品图细节还原度惊人

Z-Image真实感生成实测&#xff1a;人像、产品图细节还原度惊人 在电商页面刷新率越来越高的今天&#xff0c;一张高质量的产品主图可能决定用户是否愿意多停留两秒&#xff1b;而在短视频和社交内容爆发的当下&#xff0c;创作者对“一键出图”的效率需求早已超越了单纯的画质…

3步精通YuukiPS启动器:原神多账号管理与网络优化终极方案

3步精通YuukiPS启动器&#xff1a;原神多账号管理与网络优化终极方案 【免费下载链接】Launcher-PC 项目地址: https://gitcode.com/gh_mirrors/la/Launcher-PC 还在为频繁切换原神账号而烦恼&#xff1f;网络延迟影响游戏体验&#xff1f;YuukiPS启动器作为专为原神玩…

8.在程序中链接动态库

在cmake中链接动态库的命令如下: target_link_libraries(#谁要链接动态库 <PRIVATE|PUBLIC|INTERFACE> ... [<PRIVATE|PUBLIC|INTERFACE> ...]...) target:指定要加载的库的文件的名字 该文件可能是一个源…

WorkshopDL使用全攻略:轻松下载Steam创意工坊模组

WorkshopDL使用全攻略&#xff1a;轻松下载Steam创意工坊模组 【免费下载链接】WorkshopDL WorkshopDL - The Best Steam Workshop Downloader 项目地址: https://gitcode.com/gh_mirrors/wo/WorkshopDL 还在为无法访问Steam创意工坊的精彩模组而烦恼吗&#xff1f;Work…

打造个人游戏串流中心:Sunshine服务器全方位配置指南

打造个人游戏串流中心&#xff1a;Sunshine服务器全方位配置指南 【免费下载链接】Sunshine Sunshine: Sunshine是一个自托管的游戏流媒体服务器&#xff0c;支持通过Moonlight在各种设备上进行低延迟的游戏串流。 项目地址: https://gitcode.com/GitHub_Trending/su/Sunshin…

Sunshine云游戏服务器终极搭建指南:免费开启跨平台游戏新纪元

Sunshine云游戏服务器终极搭建指南&#xff1a;免费开启跨平台游戏新纪元 【免费下载链接】Sunshine Sunshine: Sunshine是一个自托管的游戏流媒体服务器&#xff0c;支持通过Moonlight在各种设备上进行低延迟的游戏串流。 项目地址: https://gitcode.com/GitHub_Trending/su…

Sunshine游戏串流:打造专属云游戏平台的完整指南

Sunshine游戏串流&#xff1a;打造专属云游戏平台的完整指南 【免费下载链接】Sunshine Sunshine: Sunshine是一个自托管的游戏流媒体服务器&#xff0c;支持通过Moonlight在各种设备上进行低延迟的游戏串流。 项目地址: https://gitcode.com/GitHub_Trending/su/Sunshine …

9.在cmake中打印日志信息

在CMake中可以用用户显示一条消息,该命令的名字为message: message([STATUS|WARNING|AUTHOR_WARNING|FATAL_ERROR|SEND_ERROR] "message to display" ...) (无) :重要消息 STATUS :非重要消息 WARNING:…

如何快速上手MOOTDX:Python量化投资的终极入门指南

如何快速上手MOOTDX&#xff1a;Python量化投资的终极入门指南 【免费下载链接】mootdx 通达信数据读取的一个简便使用封装 项目地址: https://gitcode.com/GitHub_Trending/mo/mootdx 在量化投资的世界里&#xff0c;数据是一切分析的基石。MOOTDX作为通达信数据接口的…

Apollo Client缓存策略:AI调整Normalized存储结构

Apollo Client缓存策略&#xff1a;AI调整Normalized存储结构 在如今轻量级AI模型加速向边缘设备渗透的背景下&#xff0c;如何让一个仅15亿参数的小型语言模型——比如VibeThinker-1.5B-APP——表现出接近大模型的推理连贯性和响应效率&#xff0c;成了极具挑战又充满机遇的技…

2026马年丽江旅拍TOP5权威榜:雪山古城见证甜蜜,真实口碑+服务实力双测评 - charlieruizvin

2026马年丽江旅拍TOP5权威榜:雪山古城见证甜蜜,真实口碑+服务实力双测评2026马年喜事连连,不少情侣将旅拍目的地锁定丽江——玉龙雪山的圣洁光影、束河古城的青石板路、蓝月谷的澄澈碧波,都是爱情最浪漫的背景板。…

LitElement自定义元素:AI创建高性能Web Component

LitElement自定义元素&#xff1a;AI创建高性能Web Component 在教育科技与开发者工具的交汇点上&#xff0c;一个引人注目的趋势正在浮现&#xff1a;将轻量级AI模型嵌入网页&#xff0c;让智能解题能力像按钮一样即点即用。想象一下&#xff0c;学生在自学微积分时&#xff0…

2026年知名的户外墙体广告,墙体广告公司,全国墙体广告公司用户口碑推荐清单 - 品牌鉴赏师

引言在当今竞争激烈的商业环境中,墙体广告作为一种传统且有效的户外广告形式,凭借其独特的优势,在下沉市场中发挥着重要作用。为了帮助众多企业更精准地选择合适的墙体广告公司,我们依据国内相关行业协会测评权威数…