QT5中实现多窗口切换,并从子窗口返回数据
該程序的功能:主窗口里有兩個(gè)button和ltextEdit,按下下一頁button后彈出子窗口并隱藏主窗口,按下退出Button后退出程序。子窗口有文本框lineEdit和button,按下子窗口的button后,會(huì)向主窗口發(fā)送文本框里的值,然后再ltextEdit中顯示,并且子窗口關(guān)閉。 ?
用到的軟件:QT5
注:以下文件全部在同一個(gè)項(xiàng)目文件中
?
說明:在這只介紹兩個(gè)窗口之間的切換,如若想要更多的窗口切換,只需按同樣的方法去實(shí)現(xiàn)就行了。
一、
1.主窗口的ui界面,如圖
2.子窗口ui界面,如圖
3.主程序。
4、主窗口的頭文件 MainWindow.h
5、主界面的.cpp文件 MainWindow.cpp
6、子窗口的頭文件 fram.h
7、子窗口的.cpp文件 fram.cpp
二、程序的運(yùn)行效果
1、首先彈出以下界面
2、當(dāng)按下“下一頁”按鈕是,出現(xiàn)以下界
3、在文本框中輸入數(shù)據(jù),并將該數(shù)據(jù)返回到主窗口。如在文本框輸入‘“返回主窗口”,然后按下按鈕后,
4、主窗口如下圖:
Qt類構(gòu)造函數(shù)中explicit修飾符的作用?explicit是C++的語法關(guān)鍵字。 其功能是:其限定的其類的構(gòu)造函數(shù)只能被顯式調(diào)用#include <iostream> using namespace std; class Class_1 { private:int num;public:/*普通構(gòu)造函數(shù)*/Class_1(int n){num=n;} }; class Class_2 { private:int num;public:/*explicit(顯式)構(gòu)造函數(shù)*/explicit Class_2(int n){num=n;} };int main() {Class_1 t1=12; //可以隱式調(diào)用其構(gòu)造函數(shù),成功 // Class_2 t2=12; //編譯錯(cuò)誤,不能隱式調(diào)用其構(gòu)造函數(shù)Class_2 t2(12); //構(gòu)造函數(shù)只能顯式調(diào)用return 0; }
信號和槽:
(1)要想連接信號和槽,我們需要調(diào)用 QObject 對象中的 connect 靜態(tài)成員函數(shù)。它的基本語法是:
QObject::connect(發(fā)送者,信號,接收者,槽).
(2)當(dāng)然,如果你所定義的類是QObject類的一個(gè)子類,在子類中連接時(shí)也可以省去前面的QObject::,而簡寫成這樣:
connect(發(fā)送者,信號,接收者,槽),那么,如何判斷一個(gè)類是不是QObject類的子類呢?只需在頭文件中查看定義類時(shí)是否帶有Q_OBJECT宏即可。
(3)注意:發(fā)送者和接收者都是指針形式。
?
總結(jié)
以上是生活随笔為你收集整理的QT5中实现多窗口切换,并从子窗口返回数据的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: UART0串口编程(六):串口(UART
- 下一篇: mbstowcs 和 wcstombs函