标準對話框
标準對話框時Qt内置的一系列對話框,用于簡化開發,因為在大多程序中,很多對話框是相同的,如打開文件、設置顔色、打印設置等,這些對話框可以通用,因此沒必要每一個程序都實現這些對話框。
- Qt的内置對話框主要有以下幾類:
- QColorDialog: 選擇顔色
- QFileDialog: 選擇文件或目錄
- QFontDialog: 選擇字體
- QInputDialog: 允許用戶輸入一個值,并返回該值
- QMessageBox: 一個模态對話框,用于顯示信息、詢問問題等
- QPageSetupDialog:為打印機提供紙張相關的選項
- QPrintDialog: 配置打印機
- QPrintPreviewDialog:打印預覽
- QProgressDialog: 顯示操作過程
其中QMessageBox——消息對話框較為常用,以下具體介紹:
- 首先消息對話框在頭文件中:#include <QMessageBox>
- 用QMessageBox 靜态成員函數創建對話框
- 其中每個成員函數接收5個參數:
- 參數1:父親 參數2:标題 參數3:顯示内容 參數4:按鍵類型 參數5:默認關聯回車按鍵
- 後兩個會有默認參數
- 返回值 是StandardButton類型
- QMessageBox::critical(this,"标題為critical","錯誤的窗口");
- 運行結果:
![qt界面添加對話框(C桌面應用開發Qt學習) qt界面添加對話框(C桌面應用開發Qt學習)1](/uploads3/large/tos-cn-i-qvj2lq49k0/92413afa1ebe4282a8ade5a85d367b78.jpg)
- //信息對話框 QMessageBox::information(this,"标題為info","信息的窗口");
![qt界面添加對話框(C桌面應用開發Qt學習) qt界面添加對話框(C桌面應用開發Qt學習)2](/uploads3/large/tos-cn-i-qvj2lq49k0/76fc3a9c00db4c6aa248e96dadf06da1.jpg)
- //提問對話框 QMessageBox::question(this,"标題為提問","提問的窗口");
![qt界面添加對話框(C桌面應用開發Qt學習) qt界面添加對話框(C桌面應用開發Qt學習)3](/uploads3/large/tos-cn-i-qvj2lq49k0/3e719a9edb95429987a8e8c2af5a7686.jpg)
- //警告對話框 QMessageBox::warning(this,"标題為warning","警告的窗口");
![qt界面添加對話框(C桌面應用開發Qt學習) qt界面添加對話框(C桌面應用開發Qt學習)4](/uploads3/large/tos-cn-i-qvj2lq49k0/deebe8f831374b5d9e9a23dd8e75804b.jpg)
PS:利用返回值判斷用戶點擊的是哪個按鈕(用戶點啥返回啥按鈕)
if(QMessageBox::Yes == QMessageBox::question(this,"标題為提問","提問的窗口")){
qDebug()<< " 選擇的是Yes ";
}
else{
qDebug()<< " 選擇的是No ";
}
運行結果:
![qt界面添加對話框(C桌面應用開發Qt學習) qt界面添加對話框(C桌面應用開發Qt學習)5](/uploads3/large/tos-cn-i-qvj2lq49k0/2976d3863d8f4e0db29e169e31e20e2e.jpg)
點擊YES後:
![qt界面添加對話框(C桌面應用開發Qt學習) qt界面添加對話框(C桌面應用開發Qt學習)6](/uploads3/large/tos-cn-i-qvj2lq49k0/3e0280cc139f413583388ce718054d88.jpg)
其他标準對話框- 顔色對話框 QColorDialog::getColor
- //顔色對話框 QColorDialog::getColor(QColor((255,0,0)));
![qt界面添加對話框(C桌面應用開發Qt學習) qt界面添加對話框(C桌面應用開發Qt學習)7](/uploads3/large/tos-cn-i-qvj2lq49k0/a9dcf4e6d7ed417fa8edf420d2bf0046.jpg)
- 文件對話框 QFileDialog::getOpenFileName(父親,标題,默認路徑,過濾文件)
- 返回值為選取的文件路徑
//文件對話框
QFileDialog::getOpenFileName(this,"标題為打開文件","D:\\QtProject");
![qt界面添加對話框(C桌面應用開發Qt學習) qt界面添加對話框(C桌面應用開發Qt學習)8](/uploads3/large/tos-cn-i-qvj2lq49k0/9589b615d22a4d56949132c7342541d6.jpg)
- 字體對話框 QFontDialog::getFont(bool *,默認選擇的字體)
//字體對話框
bool flag;
QFontDialog::getFont(&flag,QFont("華文彩雲",36));
![qt界面添加對話框(C桌面應用開發Qt學習) qt界面添加對話框(C桌面應用開發Qt學習)9](/uploads3/large/tos-cn-i-qvj2lq49k0/4c50c8b8b9d04e46988ae793183f693d.jpg)
, 更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!