QT 官方文档参考地址:https://doc.qt.io/qt-5/qmessagebox.html
QMessageBox
类是模态对话框,用于通知用户或询问用户问题并接收答案
1、软件关闭弹框
这类的弹框一般是在整个软件关闭的时候提醒用户是否需要退出整个软件
MainWindow
类重写了closeEvent
方法。当用户尝试关闭窗口时,会弹出一个询问是否真的要退出的对话框。用户可以选择“是”来关闭应用程序,或者选择“否”来取消关闭操作。
import sys
from PyQt5.QtWidgets import QApplication, QWidget, QMainWindow
from PyQt5.QtWidgets import QMessageBox
class MainWindow(QMainWindow):
def __init__(self):
super().__init__()
self.setWindowTitle("主窗口")
self.show()
def closeEvent(self, event):
#退出表示弹出框标题,"你确定退出吗?"表示弹出框的内容
reply = QMessageBox.question(self, '确认退出', '您确定要退出吗?',
QMessageBox.Yes | QMessageBox.No, QMessageBox.No)
if reply == QMessageBox.Yes:
event.accept() # 接受关闭事件
else:
event.ignore() # 忽略关闭事件
if __name__ == "__main__":
# 创建应用程序对象
app = QApplication(sys.argv)
# 创建窗口对象
window = MainWindow()
# 显示窗口
window.show()
# 进入应用程序的主循环,等待事件处理
sys.exit(app.exec_())
2、信息提示框
这个弹框一般用户给用户展示一些基本信息
- (构建成函数的方法)
def show_message(self):
#最后的Yes表示弹框的按钮显示为Yes,默认按钮显示为OK,不填QMessageBox.Yes即为默认
QMessageBox.information(self, "标题", "我很喜欢学习python",
QMessageBox.Yes)
- (直接放入相关程序执行完毕的后面的方法)
msg_box = QMessageBox(QMessageBox.Information, '标题', '我很喜欢python')
msg_box.exec_()
3、错误提示框
这类的弹框一般用于用户执行了某些错误操作而导致的,这类的错误是必须要处理的,必须要提示用户
- (构建成函数的方法)
def show_message(self):
QMessageBox.critical(self, "错误", "系统错误")
- (直接放入相关程序执行完毕的后面的方法)
msg_box = QMessageBox(QMessageBox.Critical, '错误', '出现错误')
msg_box.exec_()
4、警告提示框
这类的弹框一般提示用户最好操作什么,警示用户操作
- (构建成函数的方法)
def show_message(self):
QMessageBox.warning(self, "警告", "如果在不学习,你会被淘汰", QMessageBox.Cancel)
- (直接放入相关程序执行完毕的后面的方法)
msg_box = QMessageBox(QMessageBox.Warning, '警告', '你再不学习就要被淘汰了')
msg_box.exec_()
参考
- https://www.jb51.net/article/258944.htm
- https://blog.csdn.net/hitzsf/article/details/113738740?ops_request_misc=&request_id=&biz_id=102&utm_term=QMessageBox%20%E7%B1%BB&utm_medium=distribute.pc_search_result.none-task-blog-2allsobaiduweb~default-1-113738740.142v99pc_search_result_base9&spm=1018.2226.3001.4187