首先:這里介紹以下tab Widget 和Stacked Widget 之間的區別和使用的方法;
tab Widget控件可以直接的進行切換,Stacked Widget卻不可以直接在界面上進行切換,需要第三方的控件來進行支持(按鈕)。Stacked Widget的具體使用方法如下圖:
#include "mainwindow.h" #include "ui_mainwindow.h" #include <QDebug> #include <QCompleter> #include <QStringList> MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent), ui(new Ui::MainWindow) { ui->setupUi(this); } MainWindow::~MainWindow() { delete ui; } void MainWindow::on_change_clicked() { static int i = 0; ui->stackedWidget->setCurrentIndex(++i%4); }
#ifndef MAINWINDOW_H #define MAINWINDOW_H #include <QMainWindow> namespace Ui { class MainWindow; } class MainWindow : public QMainWindow { Q_OBJECT public: explicit MainWindow(QWidget *parent = 0); ~MainWindow(); private slots: //ui這種槽函數的on是固定的,change為對象的名字 ,clicked 為信號,中間使用下划線連接,這種方式的的槽函數是比較特別的。 //這種方式的槽函數我們不需要寫一個特定的connect函數只要點擊按鈕的話,就會自動的調用這個槽函數了。 void on_change_clicked(); private: Ui::MainWindow *ui; }; #endif // MAINWINDOW_H