Detailed use of QT QTabWidget control

       This article introduces various operations of the QTabWidget control in detail, such as: create a new interface, set the page name , set prompt information , set page activation , set the title bar position , set the page close button , set the page close button , get the page subscript , get Total number of pages , clear all pages , delete a page , set drag and drop , set display page, page close signal, page title signal, page change signal, page double-click signal, style sheet and other operations.


This series of QT comprehensive and detailed articles currently has a total of 18 articles and is currently being updated continuously. This series of articles describes the basic operation and use of QT controls in more detail. Thank you for your attention, likes, and collections.

The author of this article is original, please attach the source of the article and the link of this article for reprinting.

QT QTabWidget control use detailed directory

1 New interface

 2 Set the page name

3 Set prompt information

4 Settings page activation

5 Set the title bar position

 6 Set page close button

 7 Get page subscript

 8 Get the total number of pages

 9 Clear all pages

10 delete a page

11 Set drag and drop movement

12 Set display page

 13 page close signal

 14 Page Title Signal

15 page change signal

 16 page double click signal

17.h source file

18 .cpp source files

19 style sheets

20 Other articles:


1 New interface

        Here is a simulation of the property box that the right mouse button comes out of the file

 2 Set the page name

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

3 Set prompt information

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

4 Settings page activation

    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 Set the title bar position

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

 6 Set page close button

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

 7 Get page subscript

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

 8 Get the total number of pages

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

 9 Clear all pages

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

10 delete a page

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

11 Set drag and drop movement

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

12 Set display page

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

 13 page close signal

private slots:
    void getCloseRequested(int value);

connect(ui->tabWidget, SIGNAL(tabCloseRequested(int)), SLOT(getCloseRequested(int)));

//当点击第参数个选项卡的关闭按钮的时候,发出信号.
void MainWindow::getCloseRequested(int value)
{
    qDebug()<< "选项卡关闭按钮: " << value;
}

14

 14 Page Title Signal

void getBarClicked(int value);

connect(ui->tabWidget, SIGNAL(tabBarClicked(int)), SLOT(getBarClicked(int)));

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

15 page change signal

void getCurrChanged(int value);

connect(ui->tabWidget, SIGNAL(currentChanged(int)), SLOT(getCurrChanged(int)));

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

 16 page double click signal

void getBarDoubleClicked(int value);

connect(ui->tabWidget, SIGNAL(tabBarDoubleClicked(int)), SLOT(getBarDoubleClicked(int)));

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

17.h source file

/******************************************************************************
 * 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     断点<[email protected]>
 * @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 source files

/******************************************************************************
 * 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     断点<[email protected]>
 * @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 style sheets

QT control redrawing_Gemini breakpoint blog-CSDN blog_qt redrawing

QT Style Sheet_Gemini Breakpoint Blog-CSDN Blog

Full version of QT style sheet attributes - Gemini Breakpoint Blog - CSDN Blog

Qt system font_ Gemini Breakpoint Blog - CSDN Blog


20 Other articles:

QT TextEdit Control_Gemini Breakpoint Blog-CSDN Blog_qt textedit

Detailed explanation of the use of QT QComboBox - Gemini Breakpoint Blog - CSDN Blog

Detailed explanation of QT QtableView operation

Qt QStandardItemModel (1. Super detailed usage)_ Gemini Breakpoint Blog-CSDN Blog_qstandardmodel

Qt QStandardItemModel (2. Super detailed function)_Gemini breakpoint blog-CSDN blog_qstandarditemmodel click event

Detailed use of QT QRadioButton - Gemini Breakpoint Blog - CSDN Blog - qt radiobutton

Detailed use of QT QLineEdit_ Gemini Breakpoint Blog-CSDN Blog_qt qlineedit

Detailed explanation of Qt QMessageBox use - Gemini Breakpoint Blog - CSDN Blog - qt message

QChart Line Chart, Pie Chart, Bar Chart, Curve Chart_ Gemini Breakpoint Blog-CSDN Blog_qchart Style

Detailed explanation of QChart properties_ Gemini Breakpoint Blog-CSDN Blog_setanimationoptions

Use of QCharts QValueAxis_Gemini Breakpoint Blog-CSDN Blog_qvalueaxis

Qt 5 wait prompt box (open source dynamic graph)_ Gemini Breakpoint Blog-CSDN Blog_qt wait dialog box

QtDataVisualization Data 3D Visualization_Gemini Breakpoint Blog-CSDN Blog_qtdatavisualizatio

Detailed explanation of the use of QT QSpinBox integer counter control - Gemini Breakpoint Blog - CSDN Blog


QT QDoubleSpinBox floating point counter control (detailed use
)

Guess you like

Origin blog.csdn.net/qq_37529913/article/details/128369864