重写closeEvent()函数并进行相应的处理
时间: 2023-06-26 11:10:01 浏览: 215
PyQt5 closeEvent关闭事件退出提示框原理解析
重写 `closeEvent()` 函数可以在窗口关闭时执行相应的处理,例如询问用户是否要保存数据或执行一些清理操作。
以下是一个简单的重写 `closeEvent()` 函数的例子:
```python
class MainWindow(QtWidgets.QMainWindow):
def closeEvent(self, event):
reply = QtWidgets.QMessageBox.question(self, '确认',
'是否要退出程序?', QtWidgets.QMessageBox.Yes | QtWidgets.QMessageBox.No, QtWidgets.QMessageBox.No)
if reply == QtWidgets.QMessageBox.Yes:
# 执行清理操作或保存数据
event.accept()
else:
event.ignore()
```
在这个例子中,当用户关闭窗口时,会弹出一个消息框询问用户是否要退出程序。如果用户选择是,则执行清理操作或保存数据,并关闭窗口。如果用户选择否,则忽略关闭事件,窗口将保持打开状态。
阅读全文