Application menu | pywebview
Description: Build GUI for your Python program with JavaScript, HTML, and CSS

# # Application menu

    import webview
    import webview.menu as wm

    """
    This example demonstrates how to create an application menu
    """

    def change_active_window_content():
        active_window = webview.active_window()
        if active_window:
            active_window.load_html('<h1>You changed this window!</h1>')

    def click_me():
        active_window = webview.active_window()
        if active_window:
            active_window.load_html('<h1>You clicked me!</h1>')

    def do_nothing():
        pass

    def say_this_is_window_2():
        active_window = webview.active_window()
        if active_window:
            active_window.load_html('<h1>This is window 2</h2>')

    def open_file_dialog():
        active_window = webview.active_window()
        active_window.create_file_dialog(webview.SAVE_DIALOG, directory='/', save_filename='test.file')

    if __name__ == '__main__':
        window_1 = webview.create_window('Application Menu Example', 'https://pywebview.flowrl.com/hello')
        window_2 = webview.create_window('Another Window', html='<h1>Another window to test application menu</h1>')

        menu_items = [
            wm.Menu(
                'Test Menu',
                [
                    wm.MenuAction('Change Active Window Content', change_active_window_content),
                    wm.MenuSeparator(),
                    wm.Menu(
                        'Random',
                        [
                            wm.MenuAction('Click Me', click_me),
                            wm.MenuAction('File Dialog', open_file_dialog)
                        ]
                    )
                ]
            ),
            wm.Menu(
                'Nothing Here',
                [
                    wm.MenuAction('This will do nothing', do_nothing)
                ]
            )
        ]

        webview.start(menu=menu_items)