我想有两种不同的方法来退出应用程序:
" X"被按下连接到closeEvent函数:
def closeEvent(self, event):
message = QtGui.QMessageBox.question(self, "quit", "Do you really want to quit?", QtGui.QMessageBox.Yes | QtGui.QMessageBox.No, QtGui.QMessageBox.No)
if message == QtGui.QMessageBox.Yes:
event.accept()
else:
event.ignore()
有没有办法连接按钮的点击事件以通过完全相同的功能才能退出?我试过了:
self.quit.clicked.connect(self.closeEvent(QtCore.QCoreApplication.quit))
但是一旦我运行GUI,弹出的第一件事就是消息框。
我做错了什么,我该如何解决?
编辑1:
我也试过
self.quit.clicked.connect(self.closeEvent(QtCore.QCoreApplication.instance().quit))
但它也不起作用。
答案 0 :(得分:2)
只需连接到窗口的close
广告位:
self.quit.clicked.connect(self.close)
调用close()
发布一个close事件,该事件随后会传递给窗口的closeEvent
处理程序。