Python 如何让按钮单击事件连接到closeEvent?PyQt4

Python 如何让按钮单击事件连接到closeEvent?PyQt4,python,pyqt4,Python,Pyqt4,我想有两种不同的退出应用程序的方法: 按左上角的默认“X”按钮 按自定义按钮(“退出”) 按下“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.QMessageB

我想有两种不同的退出应用程序的方法:

  • 按左上角的默认“X”按钮
  • 按自定义按钮(“退出”)
  • 按下“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))
    

    但它也不起作用。

    只需连接到窗口的
    关闭
    插槽:

        self.quit.clicked.connect(self.close)
    
    调用
    close()