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