方式一 :使用QStackedWidget
講解
在Qt中,可以使用QStackedWidget來實(shí)現(xiàn)兩個(gè)UI界面的互相轉(zhuǎn)換。QStackedWidget是一個(gè)堆疊窗口小部件,可以在其中添加多個(gè)子窗口,并且只顯示其中一個(gè)子窗口。
注意:QStackedWidget只能用來裝widget,不能裝mainwindow!!!
注意:
上面這種想法是錯(cuò)的!
下面這種想法才是對的!
注意:QStackedWidget既可以能用來裝widget,也可以裝mainwindow?。。。ㄏ氡豎Dialog也可以)
項(xiàng)目名:PageSwitching1
使用QStackedWidget這種方法,其實(shí)就是先創(chuàng)建一個(gè)QWidget作為”容器“,然后再創(chuàng)建一個(gè)QStackedWidget部件作為這個(gè)QWidget的唯一部件,
然后再將不同的ui頁面放入到QStackedWidget中即可!
注意:文章來源:http://www.zghlxwxcb.cn/news/detail-715183.html
- 1.如果你想在main.cpp中創(chuàng)建其他ui頁面實(shí)力(比如:MainWindow mainw;),就需要加上他的頭文件,如:
#include “mainwindow.h”; - 2.如果你想在main.cpp中,通過ui變量訪問這個(gè)ui界面上的某個(gè)部件,你還需要加上他的ui頭文件,如:
#include “ui_mainwindow.h”
并且,你還要讓他的ui變量公開,如:
public:
Ui::MainWindow *ui;
代碼結(jié)構(gòu)
說明:項(xiàng)目名為1111111111是隨便取的,
然后,只有main.cpp是存放了自己寫的代碼,其他都是編譯器自動(dòng)生成。
然后,在mainwindow.h文件中,將Ui::MainWindow *ui;設(shè)置為了pubilc。
widget.ui是空白的。
mainwindow.ui如下所示:(最主要其實(shí)就是加了一個(gè)button,用來跳轉(zhuǎn)到其他頁面,那個(gè)日歷沒什么作用)文章來源地址http://www.zghlxwxcb.cn/news/detail-715183.html
main.cpp完整代碼
#include "mainwindow.h"
#include "ui_mainwindow.h"//兩兩一組,mainwindow.h與ui_mainwindow.h缺一不可!
#include <QApplication>
#include <QLabel>
#include <QPushButton>
#include <QStackedWidget>
#include <QVBoxLayout>
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
// 創(chuàng)建主窗口
QWidget mainWindow;
mainWindow.setWindowTitle("PageSwitching1");
mainWindow.setFixedSize(600,400);
// 創(chuàng)建堆疊窗口
QStackedWidget stackedWidget(&mainWindow);
// 創(chuàng)建第一個(gè)UI界面
QWidget uiPage1;
QVBoxLayout layout1(&uiPage1);
QLabel label1("Page 1");
QPushButton button1
到了這里,關(guān)于Qt中實(shí)現(xiàn)頁面切換的兩種方式的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!