Ответ 1
Отмените closeEvent
метод QWidget
в главном окне.
Например:
class MainWindow(QWidget): # or QMainWindow
...
def closeEvent(self, event):
# do stuff
if can_exit:
event.accept() # let the window close
else:
event.ignore()
Другая возможность - использовать сигнал QApplication
aboutToQuit
следующим образом:
app = QApplication(sys.argv)
app.aboutToQuit.connect(myExitHandler) # myExitHandler is a callable