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
8 Get the total number of pages
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
)