37 lines
1014 B
Python
37 lines
1014 B
Python
import PySimpleGUI as sg
|
|
|
|
# This design pattern simulates button callbacks
|
|
# Note that callbacks are NOT a part of the package's interface to the
|
|
# caller intentionally. The underlying implementation actually does use
|
|
# tkinter callbacks. They are simply hidden from the user.
|
|
|
|
# The callback functions
|
|
def button1():
|
|
print('Button 1 callback')
|
|
|
|
def button2():
|
|
print('Button 2 callback')
|
|
|
|
# Create a standard form
|
|
form = sg.FlexForm('Button callback example')
|
|
# Layout the design of the GUI
|
|
layout = [[sg.Text('Please click a button', auto_size_text=True)],
|
|
[sg.ReadFormButton('1'), sg.ReadFormButton('2'), sg.Quit()]]
|
|
# Show the form to the user
|
|
form.Layout(layout)
|
|
|
|
# Event loop. Read buttons, make callbacks
|
|
while True:
|
|
# Read the form
|
|
button, value = form.Read()
|
|
# Take appropriate action based on button
|
|
if button == '1':
|
|
button1()
|
|
elif button == '2':
|
|
button2()
|
|
elif button =='Quit' or button is None:
|
|
break
|
|
|
|
# All done!
|
|
sg.MsgBoxOK('Done')
|