Ich habe gtk.Window und ich muss schließen. Ich muss die Show schließen den Nachrichtendialog und klicken Sie auf Ja, wenn das Fenster geschlossen werden sollte, es sei denn, es gibt ein Showfensterfangen schließen gtk.window
Vielen Dank.
Ich habe gtk.Window und ich muss schließen. Ich muss die Show schließen den Nachrichtendialog und klicken Sie auf Ja, wenn das Fenster geschlossen werden sollte, es sei denn, es gibt ein Showfensterfangen schließen gtk.window
Vielen Dank.
Behandeln Sie das Signal delete-event. Return False zum Schließen, True zum Abbrechen.
Hier ist, wie ich es verwenden:
# 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
Wenn Sie das Fenster Gtk.builder und dont subclass verwenden, müssen Sie etwas tun wie window = self.builder.get_object ('pyWindow') window.connect ('destroy', Gtk.main_quit) – semisided1
+1 Gute Frage. –