200字范文,内容丰富有趣,生活中的好帮手!
200字范文 > 【pyqt5学习】——重写窗口右上角关闭事件closeEvent()

【pyqt5学习】——重写窗口右上角关闭事件closeEvent()

时间:2019-07-30 09:00:47

相关推荐

【pyqt5学习】——重写窗口右上角关闭事件closeEvent()

目录

1、法一:设置中文按钮

2、法二:不设置中文按钮

pyqt5 关闭按钮显示提示信息_Marvin_Xavier的博客-CSDN博客_pyqt 关闭按钮/marwenx/article/details/107226531

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()

注:其实法一的最小化没有作用,法二的关闭没有作用

这里只是提供一种重写右上角关闭的方法,弹窗提示

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。