当前位置: 首页 > news >正文

Qt容器类控件——QGroupBox和QTabWidget

文章目录

    • QGroupBox
    • 又来点餐
    • QTabWidget
    • 使用演示

QGroupBox

容器类控件即里面可以容纳其他的控件

QGroupBox叫做分组框,可以把其他控件放在里面作为一组

QGroupBox的存在,只是为了让界面更好看一点,并不实现实质性的功能。

当界面较复杂的时候,分组框就可以将具有关联关系的控件,组织到一起。

属性说明
title分组框的标题
alignment分组框内部内容的对齐方式
flat是否为“扁平”模式
checkable是否可选择
设置为true,则在title前方多出一个可勾选的部分
checked描述分组框的选择状态

又来点餐

界面属性设置:

image-20240916164421095

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

image-20240916164701727

QTabWidget

QTabWidget实现一个带有标签页的控件,可以往里面添加widget。然后就可以通过标签页来切换。

核心属性

属性说明
tabPosition标签页所在位置:
North上方
South下方
West左侧
East右侧
currentIndex当前选择了第几个标签页(从0开始就算)
currentTabText当前选择的标签页文本
currentTabName当前选中的标签页的名字
currentTabIcon当前选中标签页的图标
currentTabToolTip当前选中的标签页的提示信息
tabsCloseable标签页是否可以关闭
moveable标签页是否可以移动

核心信号:

信号说明
currentChanged(int)在标签页发生切换时触发,参数为被点击的选项卡编号
tabBarClicked(int)在点击选项卡的标签条的时候触发,参数为被点击的选项卡编号
tabBarDoubleClicked(int)双击选项卡的标签条的时候触发,参数为被点击的选项卡编号
tabCloseRequest(int)在标签页关闭时触发,参数为被关闭的选项卡编号

使用演示

图形化示例:

image-20240916165857641

创建一个程序,带有一个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);
}

GIF 2024-9-16 17-51-22

相关文章:

Qt容器类控件——QGroupBox和QTabWidget

文章目录 QGroupBox又来点餐QTabWidget使用演示 QGroupBox 容器类控件即里面可以容纳其他的控件 QGroupBox叫做分组框&#xff0c;可以把其他控件放在里面作为一组 QGroupBox的存在&#xff0c;只是为了让界面更好看一点&#xff0c;并不实现实质性的功能。 当界面较复杂的时候…...

qt-creator-10.0.2之后版本的jom.exe构建和编译速度慢下来了

1、Qt的IDE一直在升级&#xff0c;qt-creator的新版本下载地址 https://download.qt.io/official_releases/qtcreator/ 2、本人一直用的是qt-creator-10.0.2版本&#xff0c;官网历史仓库可以下载安装包qt-creator-opensource-windows-x86_64-10.0.2.exe https://download.qt…...

ESP32-WROOM-32 [创建AP站点-TCP服务端-数据收发]

简介 ESP32 创建TCP Server AP站点&#xff0c; PC作为客户端连接站点并收发数据 指令介绍 注意,下面指令需要在最后加上CRLF, 也就是\r\n(回车换行) ATRESTORE // 恢复出厂设置 ATCWMODE2 // 设置 Wi-Fi 模式为 softAP ATCIPMODE0 // 需要数据传输模式改为0&#xff0c; 普通…...

工业机器视觉中的常见需求

目录 学习目的 熟系 Halcon的原因 专业性强&#xff1a; 高性能&#xff1a; 丰富的功能库 学习 OpenCV 的原因 开源与免费&#xff1a; 灵活性与可扩展性&#xff1a; 广泛的应用&#xff1a; 学习资源丰富&#xff1a; 总结 学习背景 工业视觉检测中常见分类 一、定…...

JavaWeb的Filter详解

过滤器Filter 什么是Filter&#xff1f; 依据字面上的中文意思为过滤器。Filter的作用 当用户的请求到达指定的URL之前&#xff0c;可以借助Filter来改变这些请求的内容&#xff1b;同样地&#xff0c;当响应结果到达客户端之前&#xff0c;可以使用Filter修改输出的内容。什么…...

【iOS】KVC的学习

【iOS】KVC的学习 文章目录 【iOS】KVC的学习前言KVC定义KVC设值KVC取值KVC使用keyPathKVC处理异常处理nil异常 KVC的一些应用修改动态的设置值实现高阶的消息传递 小结 前言 笔者简单学习了有关与KVC的相关内容&#xff0c;这里写一篇博客简单介绍一下相关内容。 KVC 定义 KV…...

影刀RPA实战:网页爬虫之药品数据

1 实战目标 这次给大家带来的实战示例是采集中国医药信息平台上的药品数据&#xff0c;主要获取药品名称&#xff0c;介绍&#xff0c;药品类型&#xff0c;处方类型&#xff0c;医保类型&#xff0c;参考价格&#xff0c;药品成分&#xff0c;性状&#xff0c;适应病症&#…...

python禁止位置传参函数

这种函数定义方式使用了 Python 3.x 中的关键字参数&#xff08;keyword-only arguments&#xff09;的特性&#xff0c;通过在参数列表中使用 * 符号作为分隔符&#xff0c;来明确指示该函数之后的参数必须使用关键字&#xff08;即参数名&#xff09;来传递&#xff0c;而不能…...

java面试题第一弹

Java 的基本数据类型有哪些&#xff1f; Java 的基本数据类型&#xff08;primitive data types&#xff09;包括以下八种&#xff1a; byte&#xff1a; 尺寸&#xff1a;1 字节&#xff08;8 位&#xff09;。范围&#xff1a;-128 到 127。用途&#xff1a;节省内存&#x…...

住宅HTTP代理:提升网络隐私与安全的新选择

在互联网时代&#xff0c;我们的在线隐私和安全变得越来越重要。无论是浏览网页、进行在线交易&#xff0c;还是访问受限内容&#xff0c;住宅HTTP代理都能为我们提供一种可靠的解决方案。今天&#xff0c;我们就来深入探讨一下住宅HTTP代理&#xff0c;看看它是如何帮助我们提…...

字符串函数(2)

目录 前言1. strlen1.1 strlen函数的理解和使用1.2 strlen函数的模拟实现 2. strcpy2.1 strcpy函数的理解和使用2.2 strcpy函数的模拟实现 3.strcat3.1 strcat函数的理解和使用3.2 strcat 函数的模拟实现 前言 在上一篇文章中&#xff0c;我们对字符分类函数和字符转换函数进行…...

Linux--守护进程与会话

进程组 概念 进程组就是一个或多个进程的集合。 一个进程组可以包含多个进程。 下面我们通过一句简单的命令行来展示&#xff1a; 为什么会有进程组&#xff1f; 批量操作&#xff1a;进程组允许将多个进程组织在一起&#xff0c;形成一个逻辑上的整体。当需要对多个进程…...

C++ 笔试常用算法模板

C 笔试常用算法模板 一、二叉树遍历DFSBFS 二、回溯模板三、动态规划01背包朴素版本滚动数组优化 完全背包朴素版本滚动数组优化 最长递增子序列朴素版本贪心二分优化 最长公共子序列最长回文子串 四、图建图邻接矩阵邻接表 图的遍历DFSBFS 拓扑排序并查集最小生成树Kruskalpri…...

李宏毅2023机器学习作业HW07解析和代码分享

ML2023Spring - HW7 相关信息&#xff1a; 课程主页 课程视频 Kaggle link 回来了 : ) Sample code HW07 视频 HW07 PDF 个人完整代码分享: GitHub | Gitee | GitCode P.S. HW7 的代码都很易懂&#xff0c;可以和 2024 年的新课&#xff1a;生成式AI导论做一个很好的衔接&#…...

ansible远程自动化运维、常用模块详解

一、ansible是基于python开发的配置管理和应用部署工具&#xff1b;也是自动化运维的重要工具&#xff1b;可以批量配置、部署、管理上千台主机&#xff1b;只需要在一台主机配置ansible就可以完成其它主机的操作。 1.操作模式&#xff1a; 模块化操作&#xff0c;命令行执行…...

【若依框架】按时间查询数据的操作

【若依框架】按时间查询数据的操作 若依框架按起止时间查询数据示例&#xff1a; Date tempDate DateUtil.offsetDay(new Date(), -days);Map<String, Object> map new HashMap<>();map.put("beginRecordTime", DateUtil.beginOfHour(tempDate));map.…...

人工智能将来好就业吗?

人工智能将来好就业吗? 随着科技的不断进步&#xff0c;人工智能&#xff08;AI&#xff09;正逐渐成为推动全球经济发展的核心力量之一。从智能机器人到自动驾驶汽车&#xff0c;从语音识别到图像分析&#xff0c;AI正在改变我们的工作方式以及我们与世界的互动方式。那么&am…...

JAVA SE 11

文章目录 JDK 11 特性介绍语法增强1. String类的增强2. Optional类的增强3. 新的HTTP/2客户端4. var关键字的扩展5. Collection接口的增强 语法改进JDK 11引入的一些语法改进 详细介绍1. 模块化系统&#xff08;Java平台模块系统&#xff0c;JPMS&#xff09;2. HTTP客户端3. 改…...

【MySQ】在MySQL里with 的用法

在MySQL中&#xff0c;WITH语句通常与公用表表达式&#xff08;Common Table Expressions&#xff0c;简称CTE&#xff09;一起使用。CTE是一种临时的结果集&#xff0c;类似于视图或子查询&#xff0c;它们在查询中被定义并且可以在一个或多个SELECT、INSERT、UPDATE或DELETE语…...

多源最短路径

文章目录 1. 01 矩阵&#xff08;542&#xff09;2. 飞地的数量&#xff08;1020&#xff09;3. 地图分析&#xff08;1162&#xff09;4. 地图中的最高点&#xff08;1765&#xff09; 1. 01 矩阵&#xff08;542&#xff09; 题目描述&#xff1a; 算法原理&#xff1a; 这…...

接口测试中缓存处理策略

在接口测试中&#xff0c;缓存处理策略是一个关键环节&#xff0c;直接影响测试结果的准确性和可靠性。合理的缓存处理策略能够确保测试环境的一致性&#xff0c;避免因缓存数据导致的测试偏差。以下是接口测试中常见的缓存处理策略及其详细说明&#xff1a; 一、缓存处理的核…...

React 第五十五节 Router 中 useAsyncError的使用详解

前言 useAsyncError 是 React Router v6.4 引入的一个钩子&#xff0c;用于处理异步操作&#xff08;如数据加载&#xff09;中的错误。下面我将详细解释其用途并提供代码示例。 一、useAsyncError 用途 处理异步错误&#xff1a;捕获在 loader 或 action 中发生的异步错误替…...

springboot 百货中心供应链管理系统小程序

一、前言 随着我国经济迅速发展&#xff0c;人们对手机的需求越来越大&#xff0c;各种手机软件也都在被广泛应用&#xff0c;但是对于手机进行数据信息管理&#xff0c;对于手机的各种软件也是备受用户的喜爱&#xff0c;百货中心供应链管理系统被用户普遍使用&#xff0c;为方…...

基于数字孪生的水厂可视化平台建设:架构与实践

分享大纲&#xff1a; 1、数字孪生水厂可视化平台建设背景 2、数字孪生水厂可视化平台建设架构 3、数字孪生水厂可视化平台建设成效 近几年&#xff0c;数字孪生水厂的建设开展的如火如荼。作为提升水厂管理效率、优化资源的调度手段&#xff0c;基于数字孪生的水厂可视化平台的…...

Linux云原生安全:零信任架构与机密计算

Linux云原生安全&#xff1a;零信任架构与机密计算 构建坚不可摧的云原生防御体系 引言&#xff1a;云原生安全的范式革命 随着云原生技术的普及&#xff0c;安全边界正在从传统的网络边界向工作负载内部转移。Gartner预测&#xff0c;到2025年&#xff0c;零信任架构将成为超…...

论文浅尝 | 基于判别指令微调生成式大语言模型的知识图谱补全方法(ISWC2024)

笔记整理&#xff1a;刘治强&#xff0c;浙江大学硕士生&#xff0c;研究方向为知识图谱表示学习&#xff0c;大语言模型 论文链接&#xff1a;http://arxiv.org/abs/2407.16127 发表会议&#xff1a;ISWC 2024 1. 动机 传统的知识图谱补全&#xff08;KGC&#xff09;模型通过…...

学习STC51单片机32(芯片为STC89C52RCRC)OLED显示屏2

每日一言 今天的每一份坚持&#xff0c;都是在为未来积攒底气。 案例&#xff1a;OLED显示一个A 这边观察到一个点&#xff0c;怎么雪花了就是都是乱七八糟的占满了屏幕。。 解释 &#xff1a; 如果代码里信号切换太快&#xff08;比如 SDA 刚变&#xff0c;SCL 立刻变&#…...

华硕a豆14 Air香氛版,美学与科技的馨香融合

在快节奏的现代生活中&#xff0c;我们渴望一个能激发创想、愉悦感官的工作与生活伙伴&#xff0c;它不仅是冰冷的科技工具&#xff0c;更能触动我们内心深处的细腻情感。正是在这样的期许下&#xff0c;华硕a豆14 Air香氛版翩然而至&#xff0c;它以一种前所未有的方式&#x…...

Linux C语言网络编程详细入门教程:如何一步步实现TCP服务端与客户端通信

文章目录 Linux C语言网络编程详细入门教程&#xff1a;如何一步步实现TCP服务端与客户端通信前言一、网络通信基础概念二、服务端与客户端的完整流程图解三、每一步的详细讲解和代码示例1. 创建Socket&#xff08;服务端和客户端都要&#xff09;2. 绑定本地地址和端口&#x…...

系统掌握PyTorch:图解张量、Autograd、DataLoader、nn.Module与实战模型

本文较长&#xff0c;建议点赞收藏&#xff0c;以免遗失。更多AI大模型应用开发学习视频及资料&#xff0c;尽在聚客AI学院。 本文通过代码驱动的方式&#xff0c;系统讲解PyTorch核心概念和实战技巧&#xff0c;涵盖张量操作、自动微分、数据加载、模型构建和训练全流程&#…...