QT QTabWidget 控件 使用详解

news2024/10/6 21:36:07

       本文详细的介绍了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, East
    ui->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_NAMESPACE

class MainWindow : public QMainWindow
{
    Q_OBJECT

public:
    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, East
    ui->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.coloradmin.cn/o/102094.html

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

相关文章

全国职业技能大赛网络安全-金砖技能大赛——应急响应内存镜像分析(超详细解析)

全国职业技能大赛网络安全-金砖技能大赛——应急响应内存镜像分析&#xff08;超详细解析&#xff09; 背景&#xff1a;作为信息安全技术人员必须能够掌握内容镜像分析、重要数据恢复、 恶意文件分析等相关技能&#xff0c;利用这些技能我们能够第一时间分析相关恶意文件、 分…

美少女怒肝20天用C语言写出的排序集合

文章目录 排序的概念一、常见的排序算法二、代码实现总结排序的概念 排序&#xff1a;所谓排序&#xff0c;就是使一串记录&#xff0c;按照其中的某个或某些关键字的大小&#xff0c;递增或递减的排列起来的操作。稳定性&#xff1a;假定在待排序的记录序列中&#xff0c;存在…

作为前端,你是否了解链表这种数据结构?

在面试中只要被问到React Hooks就常被问到为什么Hooks不能在循环和条件判断嵌套函数当中使用&#xff1b;相信很多人都知道标准答案&#xff0c;【因为声明的Hooks保存在链表当中】&#xff0c;但是你真的知道链表吗&#xff1f; 什么是链表 我们先看来看一个简单的单向链表结…

华为珍藏版:SpringBoot全优笔记,面面俱到太全了

前言 作为开发人员&#xff0c;对于Spring全家桶肯定是不陌生的&#xff0c;而来自于Spring大家族的Spring Boot&#xff0c;作为Spring团队提供的流行框架&#xff0c;它的存在解决的Spring框架使用较为繁琐的问题&#xff0c;所以掌握SpringBoot是精通Spring必不可少的一个过…

[附源码]Python计算机毕业设计Django血库管理系统

项目运行 环境配置&#xff1a; Pychram社区版 python3.7.7 Mysql5.7 HBuilderXlist pipNavicat11Djangonodejs。 项目技术&#xff1a; django python Vue 等等组成&#xff0c;B/S模式 pychram管理等等。 环境需要 1.运行环境&#xff1a;最好是python3.7.7&#xff0c;…

[附源码]计算机毕业设计Node.js-Bigbaby美食网站(程序+LW)

项目运行 环境配置&#xff1a; Node.js最新版 Vscode Mysql5.7 HBuilderXNavicat11Vue。 项目技术&#xff1a; Express框架 Node.js Vue 等等组成&#xff0c;B/S模式 Vscode管理前后端分离等等。 环境需要 1.运行环境&#xff1a;最好是Nodejs最新版&#xff0c;我…

《Go语言并发之道》读书笔记

《Go语言并发之道》第一章&#xff1a; 并发概述第二章&#xff1a;对你的代码建模&#xff1a;通信顺序进程第三章&#xff1a;GO语言并发组件由于不怎么熟悉GO&#xff0c;只做简单的摘录&#xff0c;敲敲示例代码 鸭子类型&#xff1a;当看到一只鸟走起来像鸭子、游泳起来像…

微服务框架 SpringCloud微服务架构 多级缓存 49 缓存同步 49.3 监听Canal

微服务框架 【SpringCloudRabbitMQDockerRedis搜索分布式&#xff0c;系统详解springcloud微服务技术栈课程|黑马程序员Java微服务】 多级缓存 文章目录微服务框架多级缓存49 缓存同步49.3 监听Canal49.3.1 Canal 客户端49 缓存同步 49.3 监听Canal 49.3.1 Canal 客户端 C…

深耕无线通讯细分领域 可信华成产品受市场青睐

深圳市可信华成通信科技有限公司&#xff08;以下简称可信华成&#xff09;&#xff0c;成立于2010年&#xff0c;是一家在无线通信领域中崛起的集研发、智能制造、销售为一体的国家高新技术企业&#xff0c;深圳市专精特新企业&#xff1b; 注册资金2200万元&#xff0c;员工8…

【图像压缩】余弦变换及霍夫曼编码jpeg压缩和解压【含Matlab源码 2086期】

⛄一、DCT图像无损压缩简介 1 图像压缩 图像压缩按照压缩过程中是否有信息的损失以及解压后与原始图像是否有误差可以分为无损压缩和有损压缩两大类。无损压缩是指不损失图像质量的压缩&#xff0c;它是对文件的存储方式进行优化&#xff0c;采用某种算法表示重复的数据信息&a…

网络安全——【收藏】网络设备安全加固规范

一、Cisco网络设备安全基线规范 本建议用于Cisco路由器和基于Cisco IOS的交换机及其三层处理模块&#xff0c;其软件版本为CISCO IOS 12.0及以上版本。加固前应该先备份系统配置文件。 01 账号管理、认证授权 1.1.本机认证和授权 初始模式下&#xff0c;设备内一般建有没有…

Linux——用户、组的管理以及文件的权限设置

一、用户和组 Linux系统中的用户唯一的标识码为用户ID&#xff0c;即UID&#xff0c;每个用户至少属于一个组&#xff0c;即为用户分组。用户分组存在唯一的标识码&#xff0c;为GID。不同的用户拥有不同的权限。 1&#xff0e;认识用户账号文件/etc/passwd和用户影子文件/et…

Java项目:SSM汽车租车管理系统

作者主页&#xff1a;源码空间站2022 简介&#xff1a;Java领域优质创作者、Java项目、学习资料、技术互助 文末获取源码 项目介绍 本项目包含管理员、普通用户两种角色&#xff1b; 管理员主要功能包括&#xff1a; 后台首页、停车位信息管理、车辆求租信息审核、车辆出租信息…

热门技术中的应用:容器技术中的网络-第31讲-容器网络之Calico:为高效说出善意的谎言

上一节我们讲了Flannel如何解决容器跨主机互通的问题,这个解决方式其实和虚拟机的网络互通模式是差不多的,都是通过隧道。但是Flannel有一个非常好的模式,就是给不同的物理机设置不同网段,这一点和虚拟机的Overlay的模式完全不一样。 在虚拟机的场景下,整个网段在所有的物…

操作系统(3)银行家算法模拟实现

参考博客&#xff1a;银行家算法详解&#xff08;C语言&#xff09;_Sparky*的博客-CSDN博客_银行家问题c语言 1. 效果展示 2. 程序流程图 3. 数据结构设计 /**定义数据结构*/ vector<vector<int>> Max;// 最大需求矩阵 vector<vector<int>> Allocat…

小白如何入门Python爬虫?这是我见过最详细的入门教学

本文针对初学者&#xff0c;我会用最简单的案例告诉你如何入门python爬虫&#xff01; 想要入门Python 爬虫首先需要解决四个问题 熟悉python编程 了解HTML 了解网络爬虫的基本原理 学习使用python爬虫库 01了解什么是爬虫&#xff0c;它的基本流程是什么&#xff1f; 网络…

IDEA 2022 之 Lombok 使用 教程

文章目录**1.Lombok是什么****1.1 Lombok 是什么&#xff1f;****Lombok 引入**2、POM 中引入依赖3、IDE 中安装插件**4. Lombok 使用****4.1 Lombok 使用注意**5.代码案例&#xff1a;**Lombok 原理**6. 常用注解结语1.Lombok是什么 ​ Lombok是使用java编写的一款开源类库。…

【Redis】Redis缓存穿透、缓存雪崩、缓存击穿详解与解决办法(Redis专栏启动)

&#x1f4eb;作者简介&#xff1a;小明java问道之路&#xff0c;专注于研究 Java/ Liunx内核/ C及汇编/计算机底层原理/源码&#xff0c;就职于大型金融公司后端高级工程师&#xff0c;擅长交易领域的高安全/可用/并发/性能的架构设计与演进、系统优化与稳定性建设。 &#x1…

Java项目:springboot大学生实习管理系统

作者主页&#xff1a;源码空间站2022 简介&#xff1a;Java领域优质创作者、Java项目、学习资料、技术互助 文末获取源码 项目介绍 本系统的用户可以分为三种&#xff1a;管理员、教师、学生。三种角色登录后会有不同菜单界面&#xff1b; 管理员主要功能&#xff1a; 信息管…

graalvm 拯救生命,速速入手

graalvm 拯救生命&#xff0c;速速入手 标题很夸张&#xff0c;graalvm怎么就拯救生命了&#xff1f;把一个启动5-6秒的项目加速到3秒启动&#xff0c;不就是在拯救生命&#xff0c;拯救发际线吗&#xff1f; 我在上一篇博客"SpringBoot3.0工程建立"末尾启动了工程…