- 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()
上述代码会生成以下输出。在主窗口中单击按钮,弹出对话框 −
广告