Qt容器类控件——QGroupBox和QTabWidget

embedded/2024/11/15 4:35:33/

文章目录

    • 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


http://www.ppmy.cn/embedded/115296.html

相关文章

鸿蒙OpenHarmony【轻量系统内核扩展组件(CPU占用率)】子系统开发

基本概念 CPU&#xff08;中央处理器&#xff0c;Central Processing Unit&#xff09;占用率分为系统CPU占用率和任务CPU占用率。 系统CPU占用率&#xff1a;是指周期时间内系统的CPU占用率&#xff0c;用于表示系统一段时间内的闲忙程度&#xff0c;也表示CPU的负载情况。系…

小米,B站网络安全岗位笔试题目+答案

《网安面试指南》http://mp.weixin.qq.com/s?__bizMzkwNjY1Mzc0Nw&mid2247484339&idx1&sn356300f169de74e7a778b04bfbbbd0ab&chksmc0e47aeff793f3f9a5f7abcfa57695e8944e52bca2de2c7a3eb1aecb3c1e6b9cb6abe509d51f&scene21#wechat_redirect 《Java代码审…

零拷贝技术在现代编程语言和中间件中的应用

零拷贝技术不仅存在于操作系统层面&#xff0c;很多现代编程语言和中间件也支持这种技术&#xff0c;从而提升数据传输和处理的效率。在这篇文章中&#xff0c;我们将深入探讨如何在流行的编程语言&#xff08;如Java和Python&#xff09;以及常用中间件&#xff08;如Kafka和N…

LeetCode[中等]

给你一个链表&#xff0c;删除链表的倒数第 n 个结点&#xff0c;并且返回链表的头结点。 思路&#xff1a; 计算链表长度num&#xff0c;num - n就是需要删去结点的索引 其中若删去第一个结点&#xff0c;返回head.next; /*** Definition for singly-linked list.* public …

聚观早报 | 小米三折叠手机专利曝光;李斌谈合肥投资蔚来

聚观早报每日整理最值得关注的行业重点事件&#xff0c;帮助大家及时了解最新行业动态&#xff0c;每日读报&#xff0c;就读聚观365资讯简报。 整理丨Cutie 9月20日消息 小米三折叠手机专利曝光 李斌谈合肥投资蔚来 索尼PS5 Pro包装亮相 新一代Spectacles AR眼镜发布 通…

植物大战僵尸【源代码分享+核心思路讲解】

植物大战僵尸已经正式完结&#xff0c;今天和大家分享一下&#xff0c;话不多说&#xff0c;直接上链接&#xff01;&#xff01;&#xff01;&#xff08;如果大家在运行这个游戏遇到了问题或者bug&#xff0c;那么请私我谢谢&#xff09; 大家写的时候可以参考一下我的代码思…

UI自动化测试框架搭建详解

&#x1f345; 点击文末小卡片 &#xff0c;免费获取软件测试全套资料&#xff0c;资料在手&#xff0c;涨薪更快 今天给大家分享一个seleniumtestngmavenant的UI自动化&#xff0c;可以用于功能测试&#xff0c;也可按复杂的业务流程编写测试用例&#xff0c;今天此篇文章不过…

专业学习|动态规划(概念、模型特征、解题步骤及例题)

一、引言 &#xff08;一&#xff09;从斐波那契数列引入自底向上算法 &#xff08;1&#xff09;知识讲解 &#xff08;2&#xff09;matlap实现递归 &#xff08;3&#xff09;带有备忘录的遗传算法 &#xff08;4&#xff09;matlap实现带有备忘录的递归算法 “&#xff1…