PyQt - 单击 'Quit' 按钮时显示 MessageBox
PyQt - Showing a MessageBox when clicking a 'Quit' button
我有一个继承表单 QtGui.QMainWindow 并重新定义 closeEvent 以显示 MessageBox 的应用程序。
def closeEvent(self, event):
reply = QtGui.QMessageBox.question(
self,
'Quit',
'Are you sure you want to quit?',
QtGui.QMessageBox.Yes | QtGui.QMessageBox.No,
QtGui.QMessageBox.Yes)
if reply == QtGui.QMessageBox.Yes:
event.accept()
else:
event.ignore()
当我单击 window 中的 'X' 时,会出现此 MessageBox。该应用程序还有一个 'Quit' 按钮。我试图将按钮连接到 closeEvent 的重新定义,因此当我单击按钮时,会显示 MessageBox。但是当我确认我想退出时,我就回到我的应用程序。
def create_components(self):
self.button = QtGui.QPushButton('Quit')
self.button.clicked.connect(self.button_quit)
def button_quit(self):
self.status_bar.showMessage('Leaving Application')
# QtCore.QCoreApplication.instance().quit()
self.closeEvent(QtGui.QCloseEvent())
在init中调用了'create_components'方法。
调用 self.close()
并且 closeEvent
将由 Qt
发出
def button_quit(self):
self.status_bar.showMessage('Leaving Application')
self.close()
我有一个继承表单 QtGui.QMainWindow 并重新定义 closeEvent 以显示 MessageBox 的应用程序。
def closeEvent(self, event):
reply = QtGui.QMessageBox.question(
self,
'Quit',
'Are you sure you want to quit?',
QtGui.QMessageBox.Yes | QtGui.QMessageBox.No,
QtGui.QMessageBox.Yes)
if reply == QtGui.QMessageBox.Yes:
event.accept()
else:
event.ignore()
当我单击 window 中的 'X' 时,会出现此 MessageBox。该应用程序还有一个 'Quit' 按钮。我试图将按钮连接到 closeEvent 的重新定义,因此当我单击按钮时,会显示 MessageBox。但是当我确认我想退出时,我就回到我的应用程序。
def create_components(self):
self.button = QtGui.QPushButton('Quit')
self.button.clicked.connect(self.button_quit)
def button_quit(self):
self.status_bar.showMessage('Leaving Application')
# QtCore.QCoreApplication.instance().quit()
self.closeEvent(QtGui.QCloseEvent())
在init中调用了'create_components'方法。
调用 self.close()
并且 closeEvent
将由 Qt
def button_quit(self):
self.status_bar.showMessage('Leaving Application')
self.close()