目录
1、法一:设置中文按钮
def closeEvent(self, event):
reply = QMessageBox(QMessageBox.Question, self.tr("提示"),
self.tr("最小化界面还是关闭界面"), QtWidgets.QMessageBox.NoButton, self)
yr_btn = reply.addButton(self.tr("关闭界面"), QtWidgets.QMessageBox.YesRole)
reply.addButton(self.tr("最小化界面"), QtWidgets.QMessageBox.NoRole)
reply.exec_()
if reply.clickedButton() == yr_btn:
event.accept()
QtWidgets.qApp.quit()
# sys.exit(app.exec_())
else:
event.ignore()
# 最小化到托盘
2、法二:不设置中文按钮
def closeEvent(self, event):
# 默认直接调用QMessageBox.question 弹出询问的方法
reply = QtWidgets.QMessageBox.question(self,
'本程序',
"是否要退出程序?",
QtWidgets.QMessageBox.Yes | QtWidgets.QMessageBox.No,
QtWidgets.QMessageBox.No)
if reply == QtWidgets.QMessageBox.Yes:
event.accept()
self.close()
elif reply == QtWidgets.QMessageBox.No:
event.ignore()
self.setWindowFlags(QtCore.Qt.SplashScreen | QtCore.Qt.FramelessWindowHint)
self.showMinimized()
else:
# 最小化到托盘
self.setWindowFlags(QtCore.Qt.SplashScreen | QtCore.Qt.FramelessWindowHint)
self.showMinimized()
注:其实法一的最小化没有作用,法二的关闭没有作用
这里只是提供一种重写右上角关闭的方法,弹窗提示