Skip to content Skip to sidebar Skip to footer

How To Display A Popup When Closing A Kivy App

I would like to show a popup confirming the user would really like to close the application when it would normally close. I would like to do this on an Android and Python 2.7

Solution 1:

app.stop() function is actually called when exiting Kivy app. Customized this function as much as you like:

classMyApp(App):

    defstop(self, *largs):
        # Open the popup you want to open and declare callback if user pressed `Yes`
        popup = ExitPopup(title="Are you sure?")
        popup.bind(on_confirm=partial(self.close_app, *largs))
        popup.open()

    defclose_app(self, *largs):   
        super(MyApp, self).stop(*largs)

classExitPopup(Popup):

    def__init__(self, **kwargs):
        super(ExitPopup, self).__init__(**kwargs)
        self.register_event_type('on_confirm')

    defon_confirm(self)
        passdefon_button_yes(self)
        self.dispatch('on_confirm')

In the kv file, bind on_release method of Yes button to the on_button_yes function. If that button is presses, on_button_yes() would be called, hence on_confirm event would be dispatched, and the app will be closed.

Post a Comment for "How To Display A Popup When Closing A Kivy App"