# 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
Sign in via Google
Sign in via Facebook
Sign in via X(Twitter)
Sign in via GitHub
Sign in via Dropbox
Sign in with Wallet
Wallet (
)
Connect another wallet
Continue with a different method
New to HackMD?
Sign up
By signing in, you agree to our
terms of service
.