【Qt 学习笔记】Qt常用控件 | 容器类控件 | Tab Widget的使用及说明

简介: 【Qt 学习笔记】Qt常用控件 | 容器类控件 | Tab Widget的使用及说明

Qt常用控件 | 容器类控件 | Tab Widget的使用及说明

一、QTabWidget介绍

1. 简介

QTabWidget是Qt中的一个小部件,它提供了一个选项卡窗口小部件,可以用于创建多个选项卡,并在每个选项卡中显示不同的内容。

QTabWidget可以用来创建一个选项卡式的界面,每个选项卡可以包含不同的小部件,如文本框、按钮、列表等。用户可以通过点击选项卡切换显示内容。

2. 核心属性

image.png

3. 核心信号

image.png

二、QTabWidget的使用(代码示例)

1. 标签页管理多组控件

  1. 在界面中创建Tab Widget控件,和两个按钮,如下图所示
  2. 在每个界面中创建一个标签,显示对应页数
Widget::Widget(QWidget *parent)
    : QWidget(parent)
    , ui(new Ui::Widget)
{
    ui->setupUi(this);
    QLabel *label =new QLabel(ui->tab);
    label->setText("标签页1");
    label->resize(100,50);

    QLabel *label2 =new QLabel(ui->tab_2);
    label2->setText("标签页2");
    label2->resize(100,50);


}
  1. 编写增删按钮槽函数,以及TabWidget控件的选中时打印选中的下标
void Widget::on_pushButton_clicked()
{
    //获取到现在标签的数量
    int count = ui->tabWidget->count();
    //指定一个QWidget
    QWidget *w =new QWidget();
    //创建一个新的标签页,指定这个标签页的标题,如Tab 1
    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,50);
    //设置新建的标签页为选中状态
    ui->tabWidget->setCurrentIndex(count);
}

void Widget::on_pushButton_2_clicked()
{
    //获取到选中的标签页下标
    int index = ui->tabWidget->currentIndex();
    //删除选中的标签页
    ui->tabWidget->removeTab(index);
}

void Widget::on_tabWidget_currentChanged(int index)
{
    qDebug()<<"当前选中的标签页下标为:"<<index;
}

使用 count() 获取到标签页的个数.

• 使用 addTab 新增标签页.

• 使用 removeTab 删除标签页.

• 使用 currentIndex 获取到当前标签页的下标.

• 使用 setCurrentIndex 切换当前标签页.


  1. 运行代码,查看结果


点击新建标签页, 可以创建出新的标签.

• 点击删除当前标签页, 可以删除标签.

• 切换标签页时, 可以看到 qDebug 打印出的标签页编号.

目录
相关文章
|
1月前
|
Ubuntu NoSQL Linux
《docker基础篇:3.Docker常用命令》包括帮助启动类命令、镜像命令、有镜像才能创建容器,这是根本前提(下载一个CentOS或者ubuntu镜像演示)、容器命令、小总结
《docker基础篇:3.Docker常用命令》包括帮助启动类命令、镜像命令、有镜像才能创建容器,这是根本前提(下载一个CentOS或者ubuntu镜像演示)、容器命令、小总结
158 6
《docker基础篇:3.Docker常用命令》包括帮助启动类命令、镜像命令、有镜像才能创建容器,这是根本前提(下载一个CentOS或者ubuntu镜像演示)、容器命令、小总结
|
6月前
|
前端开发 程序员 API
【Qt】控件介绍
【Qt】控件介绍
|
6月前
|
安全 算法 Java
【Java集合类面试二】、 Java中的容器,线程安全和线程不安全的分别有哪些?
这篇文章讨论了Java集合类的线程安全性,列举了线程不安全的集合类(如HashSet、ArrayList、HashMap)和线程安全的集合类(如Vector、Hashtable),同时介绍了Java 5之后提供的java.util.concurrent包中的高效并发集合类,如ConcurrentHashMap和CopyOnWriteArrayList。
【Java集合类面试二】、 Java中的容器,线程安全和线程不安全的分别有哪些?
|
6月前
|
Java 容器
【Java集合类面试一】、 Java中有哪些容器(集合类)?
这篇文章列出了Java中的四大类集合接口:Set、List、Queue和Map,以及它们的常用实现类,如HashSet、TreeSet、ArrayList、LinkedList、ArrayDeque、HashMap和TreeMap。
【Java集合类面试一】、 Java中有哪些容器(集合类)?
|
6月前
|
开发者
【Qt 学习笔记】Qt系统相关 | Qt事件 | 事件的介绍及基本概念
【Qt 学习笔记】Qt系统相关 | Qt事件 | 事件的介绍及基本概念
280 4
|
6月前
|
数据采集 监控 Kubernetes
Job类日志采集问题之iLogtail以减小容器发现和开始采集的延时如何优化
Job类日志采集问题之iLogtail以减小容器发现和开始采集的延时如何优化
|
6月前
|
数据采集 Kubernetes Java
Job类日志采集问题之在日志中添加容器的元信息标签,如何操作
Job类日志采集问题之在日志中添加容器的元信息标签,如何操作
|
6月前
|
存储 Kubernetes 数据处理
Job类日志采集问题之为什么Job容器的日志采集要考虑容器发现速度和开始采集延时,如何理解
Job类日志采集问题之为什么Job容器的日志采集要考虑容器发现速度和开始采集延时,如何理解
|
6月前
|
C++ 容器
C++中自定义结构体或类作为关联容器的键
C++中自定义结构体或类作为关联容器的键
64 0
|
6月前
|
网络协议 Linux C++
【Qt】多种控件实现“hello world“
【Qt】多种控件实现“hello world“