# PyQt QDialog ###### tags: `python` `pyqt` `tutorials` ## 參考 - [qt 5.13 doc - QDialog](https://doc.qt.io/qt-5/qdialog.html) - [qt 提供的標準式窗](https://doc.qt.io/qt-5/dialogs.html) ## 簡介 dialog 是指對話視窗,也就是在使用程式時會跳出來的視窗皆可以稱作對話式視窗,像:警告視窗、確認視窗、檔案儲存視窗、檔案載入視窗。 QT 提供了幾種比較常見的標準式窗可以使用: - [QFileDialog](https://doc.qt.io/qt-5/qfiledialog.html) 檔案操作視窗,提供了開啟、載入檔案的標準視窗,可以透過直接呼叫函式,去叫使用者選擇檔案,並取得檔案路徑。而根據不同的平台會有不同的實現,windows的可以參考下方圖像。  - [QMessageBox](https://doc.qt.io/qt-5/qmessagebox.html) 消息視窗,可以向使用者發出訊息,可以進一步用來警告或詢問用戶確認或取消。像以下的圖片。   - [QInputDialog](https://doc.qt.io/qt-5/qinputdialog.html) 提供一個簡單的輸入視窗。  而除了 QT 提供的標準式窗可以使用外,還可以自行設計UI,實現出自訂的視窗並撰寫邏輯,主要使用[QDialog Class](https://doc.qt.io/qt-5/qdialog.html)來實現。 在視窗彈出的期間中,我們可以選擇背後的主視窗是否可以操作,這個稱作Modal、以及Modeless。 - Modal Dialogs:在視窗彈出的期間中,停止主視窗(mainwindow)的任何操作,等到使用者操作完此視窗,發出finished訊號後,主視窗才會回復可操作模式。主要用來讓使用者填入必要的訊息,已進行下一步操作。 - Modeless Dialogs:在視窗彈出的期間中,能可以操作主視窗。主要用用輔助視窗中,協助使用者在主視窗動作。 ## 操作範例 專案在 [pyqt-example](https://gitlab.com/MVMC-lab/pyqt-example)的 exp05 中,可以自行 clone 下來研究。 
×
Sign in
Email
Password
Forgot password
or
By clicking below, you agree to our
terms of service
.
Sign in via Facebook
Sign in via Twitter
Sign in via GitHub
Sign in via Dropbox
Sign in with Wallet
Wallet (
)
Connect another wallet
New to HackMD?
Sign up