- 博客主頁:Duck Bro 博客主頁
- 系列專欄:Qt 專欄
- 關注博主,后期持續更新系列文章
- 如果有錯誤感謝請大家批評指出,及時修改
- 感謝大家點贊👍收藏?評論?
Qt窗口 | 對話框 | 模態對話框
文章編號:Qt 學習筆記 / 51
文章目錄
- Qt窗口 | 對話框 | 模態對話框
- 一、對話框的介紹
- 二、對話框的分類
- 1. 模態對話框
- 2. 非模態對話框
- 3. 混合屬性對話框
- 4. Qt內置對話框
- 三、對話框的創建
一、對話框的介紹
對話框(dialog box)是計算機圖形用戶界面中常用的一種組件,用于和用戶進行交互。它通常以彈出窗口的形式呈現,包含一個或多個文本區域和一個或多個按鈕,用于顯示信息、收集用戶輸入或進行確認操作。
對話框可以用于多種目的,例如展示警告、提示信息、錯誤消息,詢問用戶是否確認某個操作,讓用戶輸入文本或選擇選項等。
對話框是圖形用戶界面中用戶與程序進行交互的重要方式之一,能夠提供更加友好和直觀的操作體驗。
二、對話框的分類
1. 模態對話框
模態對話框是指在對話框打開時,用戶只能與對話框進行交互,而不能與其他窗口進行交互,直到對話框關閉。模態對話框會阻塞程序的執行,直到用戶對對話框進行操作并關閉對話框。
使用模態對話框可以在需要等待用戶輸入或確認的情況下,暫停程序的執行,確保用戶在完成對話框里的操作之后才能繼續執行程序的其他部分。
模態對話框通常用于需要用戶進行確認、輸入或者選擇的場景,如消息對話框、輸入對話框、選擇對話框等。
2. 非模態對話框
非模態對話框是指在對話框打開時,用戶可以同時與對話框和其他窗口進行交互,不會阻塞程序的執行。非模態對話框允許用戶在對話框打開的同時執行其他操作,而不需要等待對話框關閉。
非模態對話框通常用于提供一些輔助功能或者信息展示,不需要用戶立即進行確認或輸入的場景。例如,可以使用非模態對話框來顯示一些臨時信息或者提供一些可選功能菜單。
3. 混合屬性對話框
混合屬性對話框(Mixed Attribute Dialog)是指同時具有模態和非模態特性的對話框。它能在對話框顯示期間阻塞其所屬窗口上的其他操作,但又可以供用戶繼續操作其他非對話框部件。
在Qt中,可以通過設置對話框的屬性來實現混合屬性。使用Qt的QDialog類,可以通過設置setModal屬性為true來創建模態對話框,設置為false則創建非模態對話框。
4. Qt內置對話框
內置對話框 | 說明 |
---|---|
QMessageBox | 用于顯示消息、警告、錯誤等信息的對話框。 |
QInputDialog | 用于獲取用戶輸入的對話框,可以用于獲取文本、整數、浮點數等類型的輸入。 |
QColorDialog | 用于選擇顏色的對話框。 |
QFileDialog | 用于選擇文件或目錄的對話框。 |
QFontDialog | 用于選擇字體的對話框。 |
QProgressDialog | 用于顯示進度條的對話框。 |
QPrintDialog | 用于打印文檔的對話框。 |
QPageSetupDialog | 用于設置頁面布局的對話框。 |
三、對話框的創建
-
點擊新建文件或項目
-
選擇項目Application,選擇Qt Widgets Application
-
編輯名稱,選擇創建路徑
-
選擇qmake
-
選擇QDialog類
-
以此點擊下一步,完成Qt對話框項目的創建