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) 题目描述: 算法原理: 这…...
设计模式和设计原则回顾
设计模式和设计原则回顾 23种设计模式是设计原则的完美体现,设计原则设计原则是设计模式的理论基石, 设计模式 在经典的设计模式分类中(如《设计模式:可复用面向对象软件的基础》一书中),总共有23种设计模式,分为三大类: 一、创建型模式(5种) 1. 单例模式(Sing…...
基于Docker Compose部署Java微服务项目
一. 创建根项目 根项目(父项目)主要用于依赖管理 一些需要注意的点: 打包方式需要为 pom<modules>里需要注册子模块不要引入maven的打包插件,否则打包时会出问题 <?xml version"1.0" encoding"UTF-8…...
c#开发AI模型对话
AI模型 前面已经介绍了一般AI模型本地部署,直接调用现成的模型数据。这里主要讲述讲接口集成到我们自己的程序中使用方式。 微软提供了ML.NET来开发和使用AI模型,但是目前国内可能使用不多,至少实践例子很少看见。开发训练模型就不介绍了&am…...
ios苹果系统,js 滑动屏幕、锚定无效
现象:window.addEventListener监听touch无效,划不动屏幕,但是代码逻辑都有执行到。 scrollIntoView也无效。 原因:这是因为 iOS 的触摸事件处理机制和 touch-action: none 的设置有关。ios有太多得交互动作,从而会影响…...
MySQL用户和授权
开放MySQL白名单 可以通过iptables-save命令确认对应客户端ip是否可以访问MySQL服务: test: # iptables-save | grep 3306 -A mp_srv_whitelist -s 172.16.14.102/32 -p tcp -m tcp --dport 3306 -j ACCEPT -A mp_srv_whitelist -s 172.16.4.16/32 -p tcp -m tcp -…...
关于uniapp展示PDF的解决方案
在 UniApp 的 H5 环境中使用 pdf-vue3 组件可以实现完整的 PDF 预览功能。以下是详细实现步骤和注意事项: 一、安装依赖 安装 pdf-vue3 和 PDF.js 核心库: npm install pdf-vue3 pdfjs-dist二、基本使用示例 <template><view class"con…...
【Linux系统】Linux环境变量:系统配置的隐形指挥官
。# Linux系列 文章目录 前言一、环境变量的概念二、常见的环境变量三、环境变量特点及其相关指令3.1 环境变量的全局性3.2、环境变量的生命周期 四、环境变量的组织方式五、C语言对环境变量的操作5.1 设置环境变量:setenv5.2 删除环境变量:unsetenv5.3 遍历所有环境…...
上位机开发过程中的设计模式体会(1):工厂方法模式、单例模式和生成器模式
简介 在我的 QT/C 开发工作中,合理运用设计模式极大地提高了代码的可维护性和可扩展性。本文将分享我在实际项目中应用的三种创造型模式:工厂方法模式、单例模式和生成器模式。 1. 工厂模式 (Factory Pattern) 应用场景 在我的 QT 项目中曾经有一个需…...
0x-3-Oracle 23 ai-sqlcl 25.1 集成安装-配置和优化
是不是受够了安装了oracle database之后sqlplus的简陋,无法删除无法上下翻页的苦恼。 可以安装readline和rlwrap插件的话,配置.bahs_profile后也能解决上下翻页这些,但是很多生产环境无法安装rpm包。 oracle提供了sqlcl免费许可,…...
企业大模型服务合规指南:深度解析备案与登记制度
伴随AI技术的爆炸式发展,尤其是大模型(LLM)在各行各业的深度应用和整合,企业利用AI技术提升效率、创新服务的步伐不断加快。无论是像DeepSeek这样的前沿技术提供者,还是积极拥抱AI转型的传统企业,在面向公众…...
