- PyQt5 教程
- PyQt5 - 主页
- PyQt5 - 简介
- PyQt5 - 新增功能
- PyQt5 - 你好世界
- PyQt5 - 主要类
- PyQt5 - 使用 Qt 设计器
- 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小部件提供了一个顶级窗口,主要用于收集用户的响应。它可以配置为模态(阻止其父窗口)或无模式(可以绕过对话框窗口)。
PyQt API 有许多预配置的对话框小部件,例如 InputDialog、FileDialog、FontDialog 等。
例子
在下面的示例中, Dialog 窗口的WindowModality属性决定它是模态还是非模态。对话框上的任何一个按钮都可以设置为默认按钮。当用户按下 Escape 键时,QDialog.reject()方法将丢弃该对话框。
单击顶级 QWidget 窗口上的按钮时,会生成一个对话框窗口。对话框的标题栏上没有最小化和最大化控件。
用户无法将此对话框降级到后台,因为其 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()
上面的代码产生以下输出。单击主窗口中的按钮,弹出对话框 -