QT QTabWidget的使用

*重要函数:* 
1.void setTabText(int, QString); //设置页面的名字. 
2.void setTabToolTip(QString); //设置页面的提示信息. 
3.void setTabEnabled(bool); //设置页面是否被激活. 
4.void setTabPosition(QTabPosition::South); //设置页面名字的位置. 
5.void setTabsClosable(bool); //设置页面关闭按钮。 
6.int currentIndex(); //返回当前页面的下标,从0开始. 
7.int count(); //返回页面的数量. 
8.void clear(); //清空所有页面. 
9.void removeTab(int); //删除页面. 
10.void setMoveable(bool); //设置页面是否可被拖拽移动. 
11.void setCurrentIndex(int); //设置当前显示的页面.

signals: 
1.void tabCloseRequested(int). //当点击第参数个选项卡的关闭按钮的时候,发出信号. 
2.void tabBarClicked(int). //当点击第参数个选项卡的时候,发出信号. 
3.void currentChanged(int). //当改变第参数个选项卡的时候,发出信号. 
4.void tabBarDoubleClicked(int). //当双击第参数个选项卡的时候,发出信号

QTabWidget设置setTabsClosable(true)后所有加进来的tab上都会出现关闭按钮,然后利用QTabWidget的tabCloseRequested(int)信号实现tab的关闭。

#include "mainwindow.h"
#include "ui_mainwindow.h"
#include 
#include 
MainWindow::MainWindow(QWidget *parent) :
                    QMainWindow(parent),
                   ui(new Ui::MainWindow)
{
     ui->setupUi(this);
     setCentralWidget(i->tabWidget);//将此编辑框设为主窗口的中央窗口
     connect(ui->tabWidget,SIGNAL(tabCloseRequested(int)),this,SLOT(removeSubTab(int)));
}
  
MainWindow::~MainWindow()
{
     delete ui;
}
  
void MainWindow::removeSubTab(int index)
{
      ui->tabWidget->removeTab(index);
}
  
void MainWindow::on_pushButton_clicked()
{
    QWidget *widget = new QWidget();
    QLineEdit *lineEdit = new QLineEdit();
    QPushButton *pushButton = new QPushButton("Test");
    QVBoxLayout *vLayout = new QVBoxLayout();
    vLayout->addWidget(lineEdit);
    vLayout->addWidget(pushButton);
    widget->setLayout(vLayout);

    ui->tabWidget->addTab(widget , "Tab1");
}

 

你可能感兴趣的:(QT)