#!/usr/bin/env python import sys if sys.version_info[0] >= 3: import PySimpleGUI as sg else: import PySimpleGUI27 as sg """ Demo Button Function Calls Typically GUI packages in Python (tkinter, Qt, WxPython, etc) will call a user's function when a button is clicked. This "Callback" model versus "Message Passing" model is a fundamental difference between PySimpleGUI and all other GUI. There are NO BUTTON CALLBACKS in the PySimpleGUI Architecture It is quite easy to simulate these callbacks however. The way to do this is to add the calls to your Event Loop """ def callback_function1(): sg.Popup('In Callback Function 1') print('In the callback function 1') def callback_function2(): sg.Popup('In Callback Function 2') print('In the callback function 2') layout = [ [sg.Text('Demo of Button Callbacks')], [sg.Button('Button 1'), sg.Button('Button 2')] ] window = sg.Window('Button Callback Simulation').Layout(layout) while True: # Event Loop event, values = window.Read() if event is None: break elif event == 'Button 1': callback_function1() # call the "Callback" function elif event == 'Button 2': callback_function2() # call the "Callback" function window.Close()