?
目錄
1、法一:設置中文按鈕
2、法二:不設置中文按鈕
pyqt5 關閉按鈕顯示提示信息_Marvin_Xavier的博客-CSDN博客_pyqt 關閉按鈕https://blog.csdn.net/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()
?注:其實法一的最小化沒有作用,法二的關閉沒有作用
? ? ? ? 這里只是提供一種重寫右上角關閉的方法,彈窗提示