From 5accdda30fc01b1719f2fdf4f961181994e915f9 Mon Sep 17 00:00:00 2001 From: PySimpleGUI Date: Sat, 10 Dec 2022 16:29:28 -0500 Subject: [PATCH] Fixed menu definition (Help should have had a list like the other entries). Added key to the menu, etc. It's been a long time since updated. --- DemoPrograms/Demo_Menus.py | 26 +++++++++++++++----------- 1 file changed, 15 insertions(+), 11 deletions(-) diff --git a/DemoPrograms/Demo_Menus.py b/DemoPrograms/Demo_Menus.py index cc545376..20305fd5 100644 --- a/DemoPrograms/Demo_Menus.py +++ b/DemoPrograms/Demo_Menus.py @@ -1,10 +1,13 @@ #!/usr/bin/env python import PySimpleGUI as sg + """ - Demonstration of MENUS! - How do menus work? Like buttons is how. - Check out the variable menu_def for a hint on how to - define menus + Demo of Menu element, ButtonMenu element and right-click menus + + The same basic structure is used for all menus in PySimpleGUI. + Each entry is a list of items to display. If any of those items is a list, then a cancade menu is added. + + Copyright 2018, 2019, 2020, 2021, 2022 PySimpleGUI """ @@ -24,20 +27,22 @@ def test_menus(): sg.set_options(element_padding=(0, 0)) # ------ Menu Definition ------ # - menu_def = [['&File', ['&Open Ctrl-O', '&Save Ctrl-S', '&Properties', 'E&xit']], - ['&Edit', ['&Paste', ['Special', 'Normal', ], 'Undo'], ], + menu_def = [ + ['&File', ['&Open Ctrl-O', '&Save Ctrl-S', '&Properties', 'E&xit']], + ['&Edit', ['&Paste', ['Special', 'Normal', ], 'Undo', 'Options::this_is_a_menu_key'], ], ['&Toolbar', ['---', 'Command &1', 'Command &2', '---', 'Command &3', 'Command &4']], - ['&Help', '&About...'], ] + ['&Help', ['&About...']] + ] right_click_menu = ['Unused', ['Right', '!&Click', '&Menu', 'E&xit', 'Properties']] # ------ GUI Defintion ------ # layout = [ - [sg.Menu(menu_def, tearoff=False, pad=(200, 1))], + [sg.Menu(menu_def, tearoff=True, font='_ 12', key='-MENUBAR-')], [sg.Text('Right click me for a right click menu example')], [sg.Output(size=(60, 20))], - [sg.ButtonMenu('ButtonMenu', right_click_menu, key='-BMENU-'), sg.Button('Plain Button')], + [sg.ButtonMenu('ButtonMenu', right_click_menu, key='-BMENU-', text_color='red', disabled_text_color='green'), sg.Button('Plain Button')], ] window = sg.Window("Windows-like program", @@ -55,8 +60,7 @@ def test_menus(): # ------ Process menu choices ------ # if event == 'About...': window.disappear() - sg.popup('About this program', 'Version 1.0', - 'PySimpleGUI Version', sg.version, grab_anywhere=True) + sg.popup('About this program', 'Version 1.0', 'PySimpleGUI Version', sg.get_versions()) window.reappear() elif event == 'Open': filename = sg.popup_get_file('file to open', no_window=True)