Qt容器类控件——QGroupBox和QTabWidget
文章目录
- QGroupBox
- 又来点餐
- QTabWidget
- 使用演示
QGroupBox
容器类控件即里面可以容纳其他的控件
QGroupBox叫做分组框,可以把其他控件放在里面作为一组
QGroupBox的存在,只是为了让界面更好看一点,并不实现实质性的功能。当界面较复杂的时候,分组框就可以将具有关联关系的控件,组织到一起。
| 属性 | 说明 |
|---|---|
| title | 分组框的标题 |
| alignment | 分组框内部内容的对齐方式 |
| flat | 是否为“扁平”模式 |
| checkable | 是否可选择 设置为true,则在title前方多出一个可勾选的部分 |
| checked | 描述分组框的选择状态 |
又来点餐
界面属性设置:

勾选“扁平化”和是否可选择:

QTabWidget
QTabWidget实现一个带有标签页的控件,可以往里面添加widget。然后就可以通过标签页来切换。
核心属性
| 属性 | 说明 |
|---|---|
| tabPosition | 标签页所在位置:North上方South下方West左侧East右侧 |
| currentIndex | 当前选择了第几个标签页(从0开始就算) |
| currentTabText | 当前选择的标签页文本 |
| currentTabName | 当前选中的标签页的名字 |
| currentTabIcon | 当前选中标签页的图标 |
| currentTabToolTip | 当前选中的标签页的提示信息 |
| tabsCloseable | 标签页是否可以关闭 |
| moveable | 标签页是否可以移动 |
核心信号:
| 信号 | 说明 |
|---|---|
| currentChanged(int) | 在标签页发生切换时触发,参数为被点击的选项卡编号 |
| tabBarClicked(int) | 在点击选项卡的标签条的时候触发,参数为被点击的选项卡编号 |
| tabBarDoubleClicked(int) | 双击选项卡的标签条的时候触发,参数为被点击的选项卡编号 |
| tabCloseRequest(int) | 在标签页关闭时触发,参数为被关闭的选项卡编号 |
使用演示
图形化示例:

创建一个程序,带有一个TabWidget作为标签页,设置2个按钮,可以新增和删除标签页
代码示例:
#include "widget.h"
#include "ui_widget.h"
#include<QLabel>
Widget::Widget(QWidget *parent): QWidget(parent), ui(new Ui::Widget)
{ui->setupUi(this);ui->tabWidget->setTabsClosable(true);//标签页当中,添加一个labelQLabel* label1 = new QLabel(ui->tab);label1->setText("标签页1");label1->resize(100, 100);QLabel* label2 = new QLabel(ui->tab_2);label2->setText("标签页2");label2->resize(100, 100);
}Widget::~Widget()
{delete ui;
}void Widget::on_pushButton_clicked()
{//addTab创建//参数1 指定一个QWidget//参数2 指定标签页的标题int count = ui->tabWidget->count();QWidget* w = new QWidget();ui->tabWidget->addTab(w, QString("Tab") + QString::number(count+1));QLabel* label = new QLabel(w);label->setText(QString("标签页") + QString::number(count+1));label->resize(100, 100);//新增完毕之后,设置新增为选中ui->tabWidget->setCurrentIndex(count);
}void Widget::on_pushButton_2_clicked()
{//获取当前标签页下标int index = ui->tabWidget->currentIndex();//删除标签页ui->tabWidget->removeTab(index);
}void Widget::on_tabWidget_tabCloseRequested(int index)
{ui->tabWidget->removeTab(index);
}

相关文章:
Qt容器类控件——QGroupBox和QTabWidget
文章目录 QGroupBox又来点餐QTabWidget使用演示 QGroupBox 容器类控件即里面可以容纳其他的控件 QGroupBox叫做分组框,可以把其他控件放在里面作为一组 QGroupBox的存在,只是为了让界面更好看一点,并不实现实质性的功能。 当界面较复杂的时候…...
qt-creator-10.0.2之后版本的jom.exe构建和编译速度慢下来了
1、Qt的IDE一直在升级,qt-creator的新版本下载地址 https://download.qt.io/official_releases/qtcreator/ 2、本人一直用的是qt-creator-10.0.2版本,官网历史仓库可以下载安装包qt-creator-opensource-windows-x86_64-10.0.2.exe https://download.qt…...
ESP32-WROOM-32 [创建AP站点-TCP服务端-数据收发]
简介 ESP32 创建TCP Server AP站点, PC作为客户端连接站点并收发数据 指令介绍 注意,下面指令需要在最后加上CRLF, 也就是\r\n(回车换行) ATRESTORE // 恢复出厂设置 ATCWMODE2 // 设置 Wi-Fi 模式为 softAP ATCIPMODE0 // 需要数据传输模式改为0, 普通…...
工业机器视觉中的常见需求
目录 学习目的 熟系 Halcon的原因 专业性强: 高性能: 丰富的功能库 学习 OpenCV 的原因 开源与免费: 灵活性与可扩展性: 广泛的应用: 学习资源丰富: 总结 学习背景 工业视觉检测中常见分类 一、定…...
JavaWeb的Filter详解
过滤器Filter 什么是Filter? 依据字面上的中文意思为过滤器。Filter的作用 当用户的请求到达指定的URL之前,可以借助Filter来改变这些请求的内容;同样地,当响应结果到达客户端之前,可以使用Filter修改输出的内容。什么…...
【iOS】KVC的学习
【iOS】KVC的学习 文章目录 【iOS】KVC的学习前言KVC定义KVC设值KVC取值KVC使用keyPathKVC处理异常处理nil异常 KVC的一些应用修改动态的设置值实现高阶的消息传递 小结 前言 笔者简单学习了有关与KVC的相关内容,这里写一篇博客简单介绍一下相关内容。 KVC 定义 KV…...
影刀RPA实战:网页爬虫之药品数据
1 实战目标 这次给大家带来的实战示例是采集中国医药信息平台上的药品数据,主要获取药品名称,介绍,药品类型,处方类型,医保类型,参考价格,药品成分,性状,适应病症&#…...
python禁止位置传参函数
这种函数定义方式使用了 Python 3.x 中的关键字参数(keyword-only arguments)的特性,通过在参数列表中使用 * 符号作为分隔符,来明确指示该函数之后的参数必须使用关键字(即参数名)来传递,而不能…...
java面试题第一弹
Java 的基本数据类型有哪些? Java 的基本数据类型(primitive data types)包括以下八种: byte: 尺寸:1 字节(8 位)。范围:-128 到 127。用途:节省内存&#x…...
住宅HTTP代理:提升网络隐私与安全的新选择
在互联网时代,我们的在线隐私和安全变得越来越重要。无论是浏览网页、进行在线交易,还是访问受限内容,住宅HTTP代理都能为我们提供一种可靠的解决方案。今天,我们就来深入探讨一下住宅HTTP代理,看看它是如何帮助我们提…...
字符串函数(2)
目录 前言1. strlen1.1 strlen函数的理解和使用1.2 strlen函数的模拟实现 2. strcpy2.1 strcpy函数的理解和使用2.2 strcpy函数的模拟实现 3.strcat3.1 strcat函数的理解和使用3.2 strcat 函数的模拟实现 前言 在上一篇文章中,我们对字符分类函数和字符转换函数进行…...
Linux--守护进程与会话
进程组 概念 进程组就是一个或多个进程的集合。 一个进程组可以包含多个进程。 下面我们通过一句简单的命令行来展示: 为什么会有进程组? 批量操作:进程组允许将多个进程组织在一起,形成一个逻辑上的整体。当需要对多个进程…...
C++ 笔试常用算法模板
C 笔试常用算法模板 一、二叉树遍历DFSBFS 二、回溯模板三、动态规划01背包朴素版本滚动数组优化 完全背包朴素版本滚动数组优化 最长递增子序列朴素版本贪心二分优化 最长公共子序列最长回文子串 四、图建图邻接矩阵邻接表 图的遍历DFSBFS 拓扑排序并查集最小生成树Kruskalpri…...
李宏毅2023机器学习作业HW07解析和代码分享
ML2023Spring - HW7 相关信息: 课程主页 课程视频 Kaggle link 回来了 : ) Sample code HW07 视频 HW07 PDF 个人完整代码分享: GitHub | Gitee | GitCode P.S. HW7 的代码都很易懂,可以和 2024 年的新课:生成式AI导论做一个很好的衔接&#…...
ansible远程自动化运维、常用模块详解
一、ansible是基于python开发的配置管理和应用部署工具;也是自动化运维的重要工具;可以批量配置、部署、管理上千台主机;只需要在一台主机配置ansible就可以完成其它主机的操作。 1.操作模式: 模块化操作,命令行执行…...
【若依框架】按时间查询数据的操作
【若依框架】按时间查询数据的操作 若依框架按起止时间查询数据示例: Date tempDate DateUtil.offsetDay(new Date(), -days);Map<String, Object> map new HashMap<>();map.put("beginRecordTime", DateUtil.beginOfHour(tempDate));map.…...
人工智能将来好就业吗?
人工智能将来好就业吗? 随着科技的不断进步,人工智能(AI)正逐渐成为推动全球经济发展的核心力量之一。从智能机器人到自动驾驶汽车,从语音识别到图像分析,AI正在改变我们的工作方式以及我们与世界的互动方式。那么&am…...
JAVA SE 11
文章目录 JDK 11 特性介绍语法增强1. String类的增强2. Optional类的增强3. 新的HTTP/2客户端4. var关键字的扩展5. Collection接口的增强 语法改进JDK 11引入的一些语法改进 详细介绍1. 模块化系统(Java平台模块系统,JPMS)2. HTTP客户端3. 改…...
【MySQ】在MySQL里with 的用法
在MySQL中,WITH语句通常与公用表表达式(Common Table Expressions,简称CTE)一起使用。CTE是一种临时的结果集,类似于视图或子查询,它们在查询中被定义并且可以在一个或多个SELECT、INSERT、UPDATE或DELETE语…...
多源最短路径
文章目录 1. 01 矩阵(542)2. 飞地的数量(1020)3. 地图分析(1162)4. 地图中的最高点(1765) 1. 01 矩阵(542) 题目描述: 算法原理: 这…...
当翻译成本趋近于零:AI原生时代,软件工程如何重塑?
当翻译成本趋近于零,软件工程的瓶颈就从“如何写对代码”变成了“如何定义对的事”。 一、两条路线之争:代码约束还是提示约束? 当前AI智能体演进中,出现了一条清晰的分野:以Claude Code为代表的“代码硬约束”路线&am…...
Go语言中的跨平台开发:从Windows到Linux
Go语言中的跨平台开发:从Windows到Linux 前言 作为一个在小厂挣扎的Go后端老兵,我对跨平台开发的理解就一句话:能跨平台的绝不局限。 想当年在大厂时,开发环境和生产环境都是Linux,跨平台开发的需求不大。现在到了小厂…...
Realistic Vision V5.1显存占用对比:启用offload前后VRAM峰值下降62%实测
Realistic Vision V5.1显存占用对比:启用offload前后VRAM峰值下降62%实测 1. 项目背景与技术特点 Realistic Vision V5.1是目前Stable Diffusion 1.5生态中最顶级的写实风格模型之一,能够生成媲美专业单反相机拍摄的人像作品。然而在实际使用中&#x…...
ER-Save-Editor:艾尔登法环存档修改工具全解析
ER-Save-Editor:艾尔登法环存档修改工具全解析 【免费下载链接】ER-Save-Editor Elden Ring Save Editor. Compatible with PC and Playstation saves. 项目地址: https://gitcode.com/GitHub_Trending/er/ER-Save-Editor ER-Save-Editor是一款开源的艾尔登法…...
Java伪终端完全实战:如何用pty4j实现跨平台命令行交互
Java伪终端完全实战:如何用pty4j实现跨平台命令行交互 【免费下载链接】pty4j Pty for Java 项目地址: https://gitcode.com/gh_mirrors/pt/pty4j 在Java应用中集成命令行交互功能,你是否曾面临跨平台兼容性差、进程管理复杂、终端控制能力有限等…...
Qwen-Image-2512-SDNQ使用心得:如何写出更有效的中文Prompt获得理想图片
Qwen-Image-2512-SDNQ使用心得:如何写出更有效的中文Prompt获得理想图片 1. 为什么中文Prompt需要特别优化? 在AI绘画领域,Prompt(提示词)的质量直接影响生成结果。对于中文用户而言,使用母语描述想象中的…...
Qwen3.5-27B部署教程(Docker进阶):自定义模型路径、挂载外部存储与日志卷
Qwen3.5-27B部署教程(Docker进阶):自定义模型路径、挂载外部存储与日志卷 1. 环境准备与快速部署 在开始之前,请确保您的系统满足以下要求: 硬件要求:至少4张RTX 4090 D 24GB显卡软件要求:已…...
Google Test进阶玩法:用测试夹具重构你的C++项目(CLion实战篇)
Google Test进阶实战:用测试夹具重构复杂C项目的工程化实践 当你的C项目从几百行扩展到几万行代码时,那些曾经简单的单元测试开始变得力不从心。测试用例之间出现隐蔽的状态依赖,setup代码重复率飙升,而每次运行测试套件的时间越来…...
从轮胎变形到车辆漂移:深入浅出聊聊自动驾驶横向控制里的‘侧偏刚度’
轮胎侧偏刚度:自动驾驶横向控制中的隐形弹簧 想象一下在高速公路上以120km/h的速度变道时,方向盘只需轻轻转动几度——这种看似反直觉的操控背后,是轮胎侧偏刚度在默默发挥着作用。就像跳水运动员入水时水面产生的弹性变形一样,轮…...
为什么你的Python 3.14 JIT始终未触发?揭开__pycache__/jit_profile.bin隐藏机制与企业级profile引导策略(仅3家头部云厂商公开的冷启动预热方案)
第一章:Python 3.14 JIT 编译器的演进逻辑与企业级定位Python 3.14 引入的原生 JIT(Just-In-Time)编译器并非对 CPython 的简单性能补丁,而是基于多年运行时分析与生产环境反馈重构的执行引擎。其核心演进逻辑聚焦于“渐进式优化”…...
