- PyQt5 教程
- PyQt5 - 主頁
- PyQt5 - 簡介
- PyQt5 - 新特性
- PyQt5 - Hello World
- PyQt5 - 主要類
- PyQt5 - Qt Designer 使用
- PyQt5 - 訊號和槽
- PyQt5 - 佈局管理
- PyQt5 - 基本小部件
- PyQt5 - QDialog 類
- PyQt5 - QMessageBox
- PyQt5 - 多文件介面
- PyQt5 - 拖放
- PyQt5 - 資料庫操作
- PyQt5 - 繪圖 API
- PyQt5 - BrushStyle 常量
- PyQt5 - QClipboard
- PyQt5 - QPixmap 類
- PyQt5 有用資源
- PyQt5 - 快速指南
- PyQt5 - 有用資源
- PyQt5 - 討論
PyQt5 - QDialog 類
QDialog 小部件顯示一個頂層視窗,主要用於收集使用者響應。它可以配置為 Modal(該模式下,它會阻止其父視窗)或 Modeless(可以繞過該對話方塊視窗)。
PyQt API 具有多個預配置的 Dialog 小部件,例如,InputDialog、FileDialog、FontDialog 等。
示例
在以下示例中,Dialog 視窗的 WindowModality 屬性確定它是模態視窗還是無模式視窗。可以將對話方塊上的任意一個按鈕設定為預設按鈕。當用戶按 ESC 鍵時,會透過 QDialog.reject() 方法捨棄該對話方塊。
頂層 QWidget 視窗上的按鈕單擊時會生成一個 Dialog 視窗。對話方塊框在標題欄上沒有最小化和最大化控制元件。
使用者無法將此對話方塊框置於後臺,因為其 WindowModality 已設定為 ApplicationModal。
import sys
from PyQt5.QtCore import *
from PyQt5.QtGui import *
from PyQt5.QtWidgets import *
def window():
app = QApplication(sys.argv)
w = QWidget()
btn = QPushButton(w)
btn.setText("Hello World!")
btn.move(100,50)
btn.clicked.connect(showdialog)
w.setWindowTitle("PyQt Dialog demo")
w.show()
sys.exit(app.exec_())
def showdialog():
dlg = QDialog()
b1 = QPushButton("ok",dlg)
b1.move(50,50)
dlg.setWindowTitle("Dialog") 9. PyQt5 — QDialog Class
dlg.setWindowModality(Qt.ApplicationModal)
dlg.exec_()
if __name__ == '__main__':
window()
上述程式碼會生成以下輸出。在主視窗中單擊按鈕,彈出對話方塊 −
廣告