QT QTabWidget 控件 使用详解

       本文详细的介绍了QTabWidget控件的各种操作,例如:新建界面、设置页面名字、设置提示信息、设置页面激活、设置标题栏位置、设置页面关闭按钮、设置页面关闭按钮、获取页面下标、获取页面总数、清空所有页面、删除某个页面、设置拖拽移动、设置显示页面、页面关闭信号、页面标题信号、页面变化信号、页面双击信号、样式表等操作。


本系列QT全面详解文章目前共有十八篇目前正在不断的进行更新,本系列文章较为详细的讲述了QT控件的基础操作和使用,也谢谢大家的关注、点赞、收藏。

本文作者原创,转载请附上文章出处与本文链接。

QT QTabWidget 控件 使用详解目录

1 新建界面

 2 设置页面名字

3 设置提示信息

4 设置页面激活

5 设置标题栏位置

 6 设置页面关闭按钮

 7 获取页面下标

 8 获取页面总数

 9 清空所有页面

10  删除某个页面

11 设置拖拽移动

12 设置显示页面

 13 页面关闭信号

 14 页面标题信号

15 页面变化信号

 16 页面双击信号

17 .h源文件

18 .cpp源文件

19 样式表

20 其它文章 :


1 新建界面

        这里模拟了一下鼠标右键文件出来的属性框

 2 设置页面名字

    ui->tabWidget->setTabText(0,"常规");ui->tabWidget->setTabText(1,"安全");ui->tabWidget->setTabText(2,"属性修改");ui->tabWidget->setTabText(3,"详细信息");ui->tabWidget->setTabText(4,"以前的版本");

3 设置提示信息

    ui->tabWidget->setTabToolTip(0,"常规页面提示信息");ui->tabWidget->setTabToolTip(1,"安全页面提示信息");ui->tabWidget->setTabToolTip(2,"属性修改页面提示信息");ui->tabWidget->setTabToolTip(3,"详细信息页面提示信息");ui->tabWidget->setTabToolTip(4,"以前的版本提示信息");

4 设置页面激活

    ui->tabWidget->setTabEnabled(0, true);ui->tabWidget->setTabEnabled(1, true);ui->tabWidget->setTabEnabled(2, true);ui->tabWidget->setTabEnabled(3, true);ui->tabWidget->setTabEnabled(4, false);

5 设置标题栏位置

    //设置标题栏位置 North, South, West, Eastui->tabWidget->setTabPosition(QTabWidget::West);

 6 设置页面关闭按钮

    //设置页面关闭按钮。ui->tabWidget->setTabsClosable(true);

 7 获取页面下标

qDebug() << "下标:" << ui->tabWidget->currentIndex();

 8 获取页面总数

qDebug() << "页面的数量:" << ui->tabWidget->count();

 9 清空所有页面

    qDebug() << "清空所有页面!";ui->tabWidget->clear();

10  删除某个页面

    qDebug() << "删除页面!";ui->tabWidget->removeTab(4);

11 设置拖拽移动

    qDebug() << "拖拽移动!";ui->tabWidget->setMovable(true);

12 设置显示页面

    qDebug() << "当前显示的页面!";ui->tabWidget->setCurrentIndex(2);

 13 页面关闭信号

private slots:void getCloseRequested(int value);connect(ui->tabWidget, SIGNAL(tabCloseRequested(int)), SLOT(getCloseRequested(int)));//当点击第参数个选项卡的关闭按钮的时候,发出信号.
void MainWindow::getCloseRequested(int value)
{qDebug()<< "选项卡关闭按钮: " << value;
}

14

 14 页面标题信号

void getBarClicked(int value);connect(ui->tabWidget, SIGNAL(tabBarClicked(int)), SLOT(getBarClicked(int)));//当点击第参数个选项卡的时候,发出信号.
void MainWindow::getBarClicked(int value)
{qDebug()<< "点击选项卡: " << value;
}

15 页面变化信号

void getCurrChanged(int value);connect(ui->tabWidget, SIGNAL(currentChanged(int)), SLOT(getCurrChanged(int)));//当改变第参数个选项卡的时候,发出信号.
void MainWindow::getCurrChanged(int value)
{qDebug()<< "改变选项卡: " << value;
}

 16 页面双击信号

void getBarDoubleClicked(int value);connect(ui->tabWidget, SIGNAL(tabBarDoubleClicked(int)), SLOT(getBarDoubleClicked(int)));//当双击第参数个选项卡的时候,发出信号.
void MainWindow::getBarDoubleClicked(int value)
{qDebug()<< "双击选项卡: " << value;
}

17 .h源文件

/******************************************************************************* Copyright CSDN 双子座断点 Co., Ltd.* Copyright www.dreambeging.vip Co., Ltd.* All right reserved. See COPYRIGHT for detailed Information.** @file       mainwindow.h* @project    tabWidget_Test* @version    V 1.0** @author     断点<dream.2017@qq.com>* @date       2022/12/19* @history*****************************************************************************/#ifndef MAINWINDOW_H
#define MAINWINDOW_H#include <QMainWindow>
#include <QDebug>
#pragma execution_character_set("utf-8")
QT_BEGIN_NAMESPACE
namespace Ui { class MainWindow; }
QT_END_NAMESPACEclass MainWindow : public QMainWindow
{Q_OBJECTpublic:MainWindow(QWidget *parent = nullptr);~MainWindow();private slots:void on_pushButton_clicked();void getCloseRequested(int value);void getBarClicked(int value);void getCurrChanged(int value);void getBarDoubleClicked(int value);private:Ui::MainWindow *ui;QString Title;QString Version;QString BlogText;
};
#endif // MAINWINDOW_H

18 .cpp源文件

/******************************************************************************* Copyright CSDN 双子座断点 Co., Ltd.* Copyright www.dreambeging.vip Co., Ltd.* All right reserved. See COPYRIGHT for detailed Information.** @file       mainwindow.cpp* @project    tabWidget_Test* @version    V 1.0** @author     断点<dream.2017@qq.com>* @date       2022/12/19* @history*****************************************************************************/#include "mainwindow.h"
#include "ui_mainwindow.h"MainWindow::MainWindow(QWidget *parent): QMainWindow(parent), ui(new Ui::MainWindow)
{ui->setupUi(this);ui->tabWidget->setStyleSheet("#tabWidget{border:2px solid rgb(45,226,42);""border-top-left-radius: 5px;border-top-right-radius: 0px;border-bottom-right-radius: 0px;border-bottom-left-radius: 5px;}");Title = "QT QTabWidget  CSDN 双子座断点 ";Version = "V 1.0 ";BlogText = "https://blog.csdn.net/qq_37529913?type=lately/";setWindowTitle(Title + Version + BlogText);//设置页面的名字.ui->tabWidget->setTabText(0,"常规");ui->tabWidget->setTabText(1,"安全");ui->tabWidget->setTabText(2,"属性修改");ui->tabWidget->setTabText(3,"详细信息");ui->tabWidget->setTabText(4,"以前的版本");//设置页面的提示信息ui->tabWidget->setTabToolTip(0,"常规页面提示信息");ui->tabWidget->setTabToolTip(1,"安全页面提示信息");ui->tabWidget->setTabToolTip(2,"属性修改页面提示信息");ui->tabWidget->setTabToolTip(3,"详细信息页面提示信息");ui->tabWidget->setTabToolTip(4,"以前的版本提示信息");//设置页面是否被激活.ui->tabWidget->setTabEnabled(0, true);ui->tabWidget->setTabEnabled(1, true);ui->tabWidget->setTabEnabled(2, true);ui->tabWidget->setTabEnabled(3, true);ui->tabWidget->setTabEnabled(4, false);//设置页面名字的位置 North, South, West, Eastui->tabWidget->setTabPosition(QTabWidget::North);//设置页面关闭按钮。ui->tabWidget->setTabsClosable(true);connect(ui->tabWidget, SIGNAL(tabCloseRequested(int)), SLOT(getCloseRequested(int)));connect(ui->tabWidget, SIGNAL(tabBarClicked(int)), SLOT(getBarClicked(int)));connect(ui->tabWidget, SIGNAL(currentChanged(int)), SLOT(getCurrChanged(int)));connect(ui->tabWidget, SIGNAL(tabBarDoubleClicked(int)), SLOT(getBarDoubleClicked(int)));}MainWindow::~MainWindow()
{delete ui;
}//当点击第参数个选项卡的关闭按钮的时候,发出信号.
void MainWindow::getCloseRequested(int value)
{//qDebug()<< "选项卡关闭按钮: " << value;
}//当点击第参数个选项卡的时候,发出信号.
void MainWindow::getBarClicked(int value)
{//qDebug()<< "点击选项卡: " << value;
}//当改变第参数个选项卡的时候,发出信号.
void MainWindow::getCurrChanged(int value)
{//qDebug()<< "改变选项卡: " << value;
}//当双击第参数个选项卡的时候,发出信号.
void MainWindow::getBarDoubleClicked(int value)
{qDebug()<< "双击选项卡: " << value;
}void MainWindow::on_pushButton_clicked()
{//qDebug() << "下标:" << ui->tabWidget->currentIndex();//qDebug() << "页面的数量:" << ui->tabWidget->count();//qDebug() << "清空所有页面!";//ui->tabWidget->clear();//qDebug() << "删除页面!";//ui->tabWidget->removeTab(4);//qDebug() << "拖拽移动!";//ui->tabWidget->setMovable(true);//    qDebug() << "当前显示的页面!";
//    ui->tabWidget->setCurrentIndex(2);
}

19 样式表

QT 控件重绘_双子座断点的博客-CSDN博客_qt 重绘

QT 样式表_双子座断点的博客-CSDN博客

QT 样式表属性完整版_双子座断点的博客-CSDN博客

Qt 系统字体_双子座断点的博客-CSDN博客


20 其它文章 :

QT TextEdit控件_双子座断点的博客-CSDN博客_qt textedit

QT QComboBox使用详解_双子座断点的博客-CSDN博客

QT QtableView操作详解_双子座断点的博客-CSDN博客_qtableview增删改查

Qt QStandardItemModel(1.超级详细用法)_双子座断点的博客-CSDN博客_qstandardmodel

Qt QStandardItemModel(2.超级详细函数)_双子座断点的博客-CSDN博客_qstandarditemmodel点击事件

QT QRadioButton使用详解_双子座断点的博客-CSDN博客_qt radiobutton

QT QLineEdit使用详解_双子座断点的博客-CSDN博客_qt qlineedit

Qt QMessageBox使用详解_双子座断点的博客-CSDN博客_qt message

QChart折线图、饼状图、条形图、曲线图_双子座断点的博客-CSDN博客_qchart样式

QChart属性详解_双子座断点的博客-CSDN博客_setanimationoptions

QCharts QValueAxis使用_双子座断点的博客-CSDN博客_qvalueaxis

Qt 5 等待提示框(开源 动态图)_双子座断点的博客-CSDN博客_qt 等待对话框

QtDataVisualization 数据3D可视化_双子座断点的博客-CSDN博客_qtdatavisualizatio

QT QSpinBox 整数计数器控件 使用详解_双子座断点的博客-CSDN博客


QT QDoubleSpinBox 浮点计数器控件(使用详解)_双子座断点的博客-CSDN博客_qdoublespinbox信号槽
QT QSlider、QHorizontalSlider、QVerticalSlider 控件 使用详解_双子座断点的博客-CSDN博客_qslider设置步长

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

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

相关文章

MyBatis-Plus排除不必要的字段

查询学生信息排除年龄列表 &#x1f4da;&#x1f50d; 使用MyBatis-Plus排除某些字段。如果你想要进行查询&#xff0c;但又不需要包含某些字段&#xff0c;那么这个功能将非常适合你。&#x1f50d;&#x1f393;&#x1f4dd; 1. 学生信息查询-排除年龄列表 在使用 MyBat…

【计算机网络】HTTP(下)

本文承接上文的代码进行改造&#xff0c;上文链接&#xff1a;HTTP上 文章目录 1. 实现网站跳转实现 自己的网站跳转 2. 请求方法(get) && 响应方法(post)GET方法POST方法GET与POST的应用场景 3. HTTP状态码在自己设计的代码中发现4043开头的状态码(重定向状态码)永久…

一种基于注意机制的快速、鲁棒的混合气体识别和浓度检测算法,配备了具有双损失函数的递归神经网络

A fast and robust mixture gases identification and concentration detection algorithm based on attention mechanism equipped recurrent neural network with double loss function 摘要 提出一个由注意力机制组成的电子鼻系统。首先采用端到端的编码器译码器&#xff…

容器编排学习(二)镜像制作和私有仓库介绍

一 Dockerfile 1 概述 commit的局限 很容易制作简单的镜像&#xff0c;但碰到复杂的情况就十分不方便例如碰到下面的情况需要设置默认的启动命令需要设置环境变量需要指定镜像开放某些特定的端口 Dockerfile就是解决这些问题的方法 Dockerfile是一种更强大的镜像制作方式…

VMware虚拟机+Centos7 配置静态,动态IP

本章目录 一、查看网关&#xff1a; 编辑–>虚拟网络编辑器二、点击NAT设置三、记住网关IP待会要用四、配置静态ip地址1、进入存放修改IP地址的目录2、修改ip地址的文件3、编辑文件4、文件&#xff08;编辑好后退出&#xff09; 五、重启网络六、测试1、linux上查看IP地址的…

爬虫爬取mp3文件例子

相信训练模型时数据集的获取也是一个很头疼的事情&#xff0c;搞cv领域的可以扛着摄像头架起三脚架拍摄获取&#xff08;以前干过&#xff09;&#xff0c;但是如果是nlp领域的呢&#xff0c;特别是chatgpt等大模型出来后对这类文本等数据的需求更大&#xff0c;如果没有现成的…

【AIGC专题】Stable Diffusion 从入门到企业级实战0403

一、前言 本章是《Stable Diffusion 从入门到企业级实战》系列的第四部分能力进阶篇《Stable Diffusion ControlNet v1.1 图像精准控制》第03节&#xff0c; 利用Stable Diffusion ControlNet Canny模型精准控制图像生成。本部分内容&#xff0c;位于整个Stable Diffusion生态…

Scrum敏捷模式的优势点、实践经验及适用企业

Scrum敏捷模式是一种灵活、适应性强的开发方法&#xff0c;其核心理念是以短周期、高频率的方式进行项目开发&#xff0c;确保团队能够快速响应变化。 Scrum包含三个角色&#xff1a;产品负责人&#xff08;Product Owner&#xff09;、Scrum Master和开发团队&#xff08;Tea…

【交叉熵损失torch.nn.CrossEntropyLoss详解-附代码实现】

CrossEntropyLoss 什么是交叉熵softmax损失计算验证CrossEntropyLoss 输入输出介绍验证代码 什么是交叉熵 交叉熵有很多文章介绍&#xff0c;此处不赘述。只需要知道它是可以衡量真实值和预测值之间的差距的&#xff0c;因而用交叉熵来计算损失的时候&#xff0c;损失是越小越…

深入了解HTTP代理的工作原理

HTTP代理是一种常见的网络代理方式&#xff0c;它可以帮助用户隐藏自己的IP地址&#xff0c;保护个人隐私和安全。了解HTTP代理的工作原理对于使用HTTP代理的用户来说非常重要。本文将深入介绍HTTP代理的工作原理。 代理服务器的作用 HTTP代理的工作原理基于代理服务器的作用。…

Android常用的工具“小插件”——Widget机制

Widget俗称“小插件”&#xff0c;是Android系统中一个很常用的工具。比如我们可以在Launcher中添加一个音乐播放器的Widget。 在Launcher上可以添加插件&#xff0c;那么是不是说只有Launcher才具备这个功能呢&#xff1f; Android系统并没有具体规定谁才能充当“Widget容器…

2023年“羊城杯”网络安全大赛 Web方向题解wp 全

团队名称&#xff1a;ZhangSan 序号&#xff1a;11 不得不说今年本科组打的是真激烈&#xff0c;初出茅庐的小后生没见过这场面QAQ~ D0n’t pl4y g4m3!!! 简单记录一下&#xff0c;实际做题踩坑很多&#xff0c;尝试很多。 先扫了个目录&#xff0c;扫出start.sh 内容如下…

Linux CentOS7 系统中添加用户

在linux centOS7系统中&#xff0c;添加用户是管理员的基本操作。作为学习linux系统的基本操作&#xff0c;对添加用户应该多方面了解。 添加用户的命令useradd&#xff0c;跟上用户名&#xff0c;就可以快速创建一个用户。添加一些选项&#xff0c;可以设置更人性化的用户信息…

【论文阅读】Pay Attention to MLPs

作者&#xff1a;Google Research, Brain Team 泛读&#xff1a;只关注其中cv的论述 提出了一个简单的网络架构&#xff0c;gMLP&#xff0c;基于门控的MLPs&#xff0c;并表明它可以像Transformers一样在关键语言和视觉应用中发挥作用 提出了一个基于MLP的没有self-attentio…

docker 笔记11: Docker容器监控之CAdvisor+InfluxDB+Granfana

1.原生命令 docker stats命令的结果 是什么 2.是什么 容器监控3剑客 CAdvisor监控收集InfluxDB存储数据Granfana展示图表 3.CAdvisor 4.InfluxDB 5.Granfana 6.总结 7.compose容器编排&#xff0c;一套带走 新建目录 7.1新建3件套组合的 docker-compose.yml version: 3.1vo…

网络原理

网络原理 传输层 UDP 特点 特点&#xff1a;无连接&#xff0c;不可靠&#xff0c;面向数据报&#xff0c;全双工 格式 怎么进行校验呢&#xff1f; 把UDP数据报中的源端口&#xff0c;目的端口&#xff0c;UDP报文长度的每个字节&#xff0c;都依次进行累加 把累加结果&a…

人脸识别技术,如何解决学校门禁安全?

在当今社会&#xff0c;学校安全已经成为一个备受关注的议题&#xff0c;而门禁监控系统已经成为学校管理和保障学生安全的重要工具之一。随着社会的不断发展和技术的不断进步&#xff0c;学校不再只是知识传授的场所&#xff0c;它们也成为了数百、数千甚至数万学生和教职员工…

Elasticsearch——Docker单机部署安装

文章目录 1 简介2 Docker安装与配置2.1 安装Docker2.2 配置Docker镜像加速器2.3 调整Docker资源限制 3 准备Elasticsearch Docker镜像3.1 下载Elasticsearch镜像3.2 自定义镜像配置3.3执行Docker Compose 4 运行Elasticsearch容器4.1 创建Elasticsearch容器4.2 修改配置文件4.3…

入门人工智能 —— 使用 Python 进行文件读写,并完成日志记录功能(4)

入门人工智能 —— 使用 Python 进行文件读写&#xff08;4&#xff09; 入门人工智能 —— 使用 Python 进行文件读写打开文件读取文件内容读取整个文件逐行读取文件内容读取所有行并存储为列表 写入文件内容关闭文件 日志记录功能核心代码&#xff1a;完整代码&#xff1a;运…

UE5、CesiumForUnreal实现瓦片坐标信息图层效果

文章目录 1.实现目标2.实现过程2.1 原理简介2.2 cesium-native改造2.3 CesiumForUnreal改造2.4 运行测试3.参考资料1.实现目标 参考CesiumJs的TileCoordinatesImageryProvider,在CesiumForUnreal中也实现瓦片坐标信息图层的效果,便于后面在调试地形和影像瓦片的加载调度等过…