QT5中實現多視窗切換,並從子視窗返回資料
阿新 • • 發佈:2019-01-27
該程式的功能:主窗口裡有兩個button和ltextEdit,按下下一頁button後彈出子視窗並隱藏主視窗,按下退出Button後退出程式。子視窗有文字框lineEdit和button,按下子視窗的button後,會向主視窗傳送文字框裡的值,然後再ltextEdit中顯示,並且子視窗關閉。
用到的軟體:QT5
注:以下檔案全部在同一個專案檔案中
(1)要想連線訊號和槽,我們需要呼叫 QObject 物件中的 connect 靜態成員函式。它的基本語法是:
QObject::connect(傳送者,訊號,接收者,槽).
(2)當然,如果你所定義的類是QObject類的一個子類,在子類中連線時也可以省去前面的QObject::,而簡寫成這樣:
connect(傳送者,訊號,接收者,槽),那麼,如何判斷一個類是不是QObject類的子類呢?只需在標頭檔案中檢視定義類時是否帶有Q_OBJECT巨集即可。
(3)注意:傳送者和接收者都是指標形式。
用到的軟體: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)注意:傳送者和接收者都是指標形式。