existe-t-il un moyen de détecter si l'utilisateur essaie de fermer la fenêtre? Par exemple, dans Tkinter, nous pouvons faire quelque chose comme ceci:
def exit_dialog():
#do stuff
pass
root = Tk()
root.protocol("WM_DELETE_WINDOW", exit_dialog)
root.mainloop()
Merci.
Remplacez la méthode closeEvent
de QWidget
dans votre fenêtre principale.
Par exemple:
class MainWindow(QWidget): # or QMainWindow
...
def closeEvent(self, event):
# do stuff
if can_exit:
event.accept() # let the window close
else:
event.ignore()
Une autre possibilité consiste à utiliser le signal QApplication
aboutToQuit
comme ceci:
app = QApplication(sys.argv)
app.aboutToQuit.connect(myExitHandler) # myExitHandler is a callable