J'ai gtk.Window et j'ai besoin d'attraper la fermeture. Je dois fermer la boîte de dialogue Afficher le message et cliquer sur Oui si la fenêtre doit être fermée, sauf s'il y a une fenêtre d'affichageattraper fermer gtk.window
Merci.
J'ai gtk.Window et j'ai besoin d'attraper la fermeture. Je dois fermer la boîte de dialogue Afficher le message et cliquer sur Oui si la fenêtre doit être fermée, sauf s'il y a une fenêtre d'affichageattraper fermer gtk.window
Merci.
Gérez le signal delete-event. Retourne False pour fermer, True pour annuler.
Voici comment je l'utilise:
# in constructor:
self.connect('destroy', gtk.main_quit)
self.connect('delete-event', self.on_destroy)
def on_destroy(self, widget=None, *data):
# return True --> no, don't close
messagedialog = gtk.MessageDialog(parent=self, flags= gtk.DIALOG_MODAL & gtk.DIALOG_DESTROY_WITH_PARENT,
type=gtk.MESSAGE_QUESTION, buttons=gtk.BUTTONS_OK_CANCEL, message_format="Click on 'Cancel' to leave the application open.")
messagedialog.show_all()
result=messagedialog.run()
messagedialog.destroy()
if result==gtk.RESPONSE_CANCEL:
return True
return False
Si vous utilisez la fenêtre Gtk.builder et dont vous n'avez pas de sous-classe, vous devrez faire quelque chose comme window = self.builder.get_object ('pyWindow') window.connect ('détruire', Gtk.main_quit) – semisided1
+1 Bonne question. –