【Qt】Qt窗口程序
00. 目錄
文章目錄
- 00. 目錄
- 01. 概述
- 02. 開發環境
- 03. 程序設計
- 04. 程序執行
- 05. 預留
- 06. 附錄
01. 概述
程序要實現的功能是:運行開始出現一個對話框,按下登錄主界面按鈕后該對話框消失并進入主窗口,如果直接關閉這個對話框,便不能進入主窗口,整個程序也將退出。進入主窗口后,按下顯示對話框按鈕,會彈出一個對話框,無論如何關閉這個對話框,都會回到主窗口。
程序里先建立一個工程,設計主界面,然后再建立一個對話框類,將其加入工程中,并在程序中調用自己新建的對話框類來實現多窗口。
02. 開發環境
Windows系統:Windows10
Qt版本:Qt5.15或者Qt6
03. 程序設計
3.1 設計主窗口
打開Qt Creator,新建Qt Widgets Application,項目名稱設置為2Widget,在類信息界面保持基類為QMainWindow、類名為MainWindow
3.2 完成項目創建后,雙擊mainwindow.ui文件進入設計模式,從左側部件列表中向界面上拖入一個Push Button,然后雙擊并修改顯示文本為“按鈕”,
3.3 添加登錄對話框
往項目中添加新文件,這里可以在編輯模式左側的項目目錄上右擊,然后選擇添加新文件菜單,如下圖所示。當然也可以在文件菜單中進行添加。
3.4 模板選擇Qt分類中的Qt設計師界面類,然后界面模板選擇Dialog withoutButtons,如下圖所示。
3.5 單擊下一步進入類信息界面,這里將類名更改為LoginDialog(注意類名首字母一般大寫)。如下圖所示,下面的相關文件會自動改名。
3.6 當完成后會自動跳轉到設計模式,可以對新添加的對話框進行設計。我們向界面上拖入一個Push Button,然后更改顯示文本為“登錄到主界面”。為了實現點擊這個按鈕后可以關閉該對話框并顯示主窗口,我們需要設置信號和槽的關聯。按下F4,便進入了信號和槽編輯模式。按著鼠標左鍵,從按鈕上拖向界面,如下圖所示。
當放開鼠標后,會彈出配置連接對話框,這里我們選擇pushButton的clicked()信號和LoginDialog的accept()槽并按下確定按鈕。如下圖所示。
設置好信號和槽的關聯后,界面如下圖所示。
完成后,可以按下F3鍵來返回控件編輯模式。
3.7 按下Ctrl+2返回代碼編輯模式,在這里打開main.cpp文件,添加代碼:
int main(int argc, char *argv[]) {QApplication a(argc, argv);MainWindow w;LoginDialog dlg;if (dlg.exec() == QDialog::Accepted){w.show();return a.exec();}else{return 0;} }在這里,我們先創建了LoginDlg類的對象dlg,然后讓dlg運行,即執行exec()函數,這樣會顯示對話框窗口,然后判斷exec()的返回值,如果用戶按下了登錄按鈕,那么返回值應該是Accepted,這時就顯示主窗口,并正常執行程序;如果沒有按下登錄按鈕,那么就結束程序。
3.8 講述了一種顯示對話框的情況,下面再來講述一種情況。我們打開mainwindow.ui文件進入設計模式,然后在“按鈕”部件上右擊并選擇轉到槽菜單,如下圖所示。
在彈出的轉到槽對話框中選擇第一個clicked()信號并按下確定按鈕。這時會跳轉到編輯模式mainwindow.cpp文件的on_pushButton_clicked()函數處,這個就是自動生成的槽,已經自動在mainwindow.h文件中進行了聲明。我們只需要更改函數體即可。
void MainWindow::on_pushButton_clicked() {QDialog *pDlg = new QDialog(this);pDlg->show(); }我們使用了兩類窗口打開的方式,一個是自身消失而后打開另一個窗口,一個是打開另一個窗口而自身不消失。可以看到他們實現的方法是不同的。而且我們還使用了兩種方式來使用信號和槽,一種是直接在設計模式編輯信號和槽,另一種是在設計模式通過部件的“轉到槽”菜單來自定義槽函數。信號和槽是Qt非常核心的內容,可以說如果不會靈活使用信號和槽,那么使用Qt也就失去了意義,但是大家也不用急于掌握它。
04. 程序執行
05. 預留
06. 附錄
源碼下載:Qt窗口程序示例.rar
與50位技術專家面對面20年技術見證,附贈技術全景圖總結
以上是生活随笔為你收集整理的【Qt】Qt窗口程序的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【Qt】设置应用程序图标
- 下一篇: 【Qt】Qt登录对话框(设计器实现)