From e29acb936ecb301b08bcdb282478828355fcac51 Mon Sep 17 00:00:00 2001 From: PySimpleGUI Date: Sat, 26 Feb 2022 07:26:31 -0500 Subject: [PATCH] New Demo - Class wrapper --- DemoPrograms/Demo_Class_Wrapper.py | 37 ++++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) create mode 100644 DemoPrograms/Demo_Class_Wrapper.py diff --git a/DemoPrograms/Demo_Class_Wrapper.py b/DemoPrograms/Demo_Class_Wrapper.py new file mode 100644 index 00000000..99995ee8 --- /dev/null +++ b/DemoPrograms/Demo_Class_Wrapper.py @@ -0,0 +1,37 @@ +import PySimpleGUI as sg + +""" + Demo - Class wrapper + + Using a class to encapsulate PySimpleGUI Window creation & event loop + + Copyright 2022 PySimpleGUI +""" + +class SampleGUI(): + + def __init__(self): + self.layout = [ [sg.Text('My layout')], + [sg.Input(key='-IN-')], + [sg.Button('Go'), sg.Button('Exit')] ] + + self.window = sg.Window('My new window', self.layout) + + def run(self): + while True: # Event Loop + self.event, self.values = self.window.read() + if self.event in (sg.WIN_CLOSED, 'Exit'): + break + + if self.event == 'Go': + self.button_go() + + self.window.close() + + def button_go(self): + sg.popup('Go button clicked', 'Input value:', self.values['-IN-']) + +# Create the class +my_gui = SampleGUI() +# run the event loop +my_gui.run()