对话框是为了更好地实现人与程序的交互
对话框主要是完成特定场景下的功能,比如删除确认等
QDialog的子类有QMessageBox、QFileDialog、QFontDialog、QInputDialog等
1. QMessageBox
QMessageBox是普通的对话框
代码示例:
from PyQt5.QtWidgets import *from PyQt5.QtCore import *from PyQt5.QtGui import QIconimport sysdef deleteUser():# 弹出对话框,让用户确认result = QMessageBox.question(w, '提示', '确认要删除好朋友吗?',QMessageBox.Ok | QMessageBox.Cancel,QMessageBox.Cancel)if result == QMessageBox.Ok:print('确认删除')elif result == QMessageBox.Cancel:print('取消删除')# 1.创建应用程序app = QApplication(sys.argv)# 2.创建窗口w = QWidget()# 修改窗口标题w.setWindowTitle('对话框')"""------------------ 创建按钮 ------------------"""btn = QPushButton('删除用户')# 显示控件btn.setParent(w)# 信号和槽绑定btn.clicked.connect(deleteUser)# 3.显示窗口w.show()# 4.等待窗口停止sys.exit(app.exec())
2. QIputDialog
QIputDialog是输入对话框,由一个文本框和两个按钮(OK按钮和Cancel按钮)组成

代码示例:
from PyQt5.QtWidgets import *from PyQt5.QtCore import *from PyQt5.QtGui import QIconimport sysdef func():str,success = QInputDialog.getText(w,'提示','请输入角色名称')if success:edit.setText(str)# 1.创建应用程序app = QApplication(sys.argv)# 2.创建窗口w = QWidget()# 修改窗口标题w.setWindowTitle('输入提示框')"""------------------ 创建界面 ------------------"""layout = QHBoxLayout()# 添加布局w.setLayout(layout)# 控件btn = QPushButton('创建角色')edit = QLineEdit()# 控件添加到布局中layout.addWidget(btn)layout.addWidget(edit)# 信号和槽函数绑定btn.clicked.connect(func)# 3.显示窗口w.show()# 4.等待窗口停止sys.exit(app.exec())
