catch close gtk.window

后端 未结 2 1578
有刺的猬
有刺的猬 2021-01-12 11:20

I have gtk.Window and I need to catch closure. I need to close the show the message dialog and click Yes if the window should be closed unless there is a show window

2条回答
  •  一生所求
    2021-01-12 11:41

    Here is how I use it:

    # 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
    

提交回复
热议问题