Major update of all demo programs to use new PEP8 bindings, etc

This commit is contained in:
PySimpleGUI 2019-10-23 16:10:03 -04:00
parent 3f7c87c562
commit 7f52778bcc
307 changed files with 19546 additions and 3297 deletions

View file

@ -1,51 +1,60 @@
#!/usr/bin/env python
import sys
if sys.version_info[0] >= 3:
import PySimpleGUI as sg
else:
import PySimpleGUI27 as sg
import PySimpleGUI as sg
"""
Demonstrates using a "tight" layout with a Dark theme.
Shows how button states can be controlled by a user application. The program manages the disabled/enabled
states for buttons and changes the text color to show greyed-out (disabled) buttons
"""
sg.ChangeLookAndFeel('Dark')
sg.SetOptions(element_padding=(0,0))
sg.change_look_and_feel('Dark')
sg.set_options(element_padding=(0, 0))
layout = [[sg.T('User:', pad=((3,0),0)), sg.OptionMenu(values = ('User 1', 'User 2'), size=(20,1)), sg.T('0', size=(8,1))],
[sg.T('Customer:', pad=((3,0),0)), sg.OptionMenu(values=('Customer 1', 'Customer 2'), size=(20,1)), sg.T('1', size=(8,1))],
[sg.T('Notes:', pad=((3,0),0)), sg.In(size=(44,1), background_color='white', text_color='black')],
[sg.Button('Start', button_color=('white', 'black'), key='_Start_'),
sg.Button('Stop', button_color=('white', 'black'), key='_Stop_'),
sg.Button('Reset', button_color=('white', 'firebrick3'), key='_Reset_'),
sg.Button('Submit', button_color=('white', 'springgreen4'), key='_Submit_')]]
layout = [[sg.Text('User:', pad=((3, 0), 0)), sg.OptionMenu(values=('User 1', 'User 2'), size=(20, 1)), sg.Text('0', size=(8, 1))],
[sg.Text('Customer:', pad=((3, 0), 0)), sg.OptionMenu(
values=('Customer 1', 'Customer 2'), size=(20, 1)), sg.Text('1', size=(8, 1))],
[sg.Text('Notes:', pad=((3, 0), 0)), sg.Input(size=(44, 1),
background_color='white', text_color='black')],
[sg.Button('Start', button_color=('white', 'black'), key='-Start-'),
sg.Button('Stop', button_color=('white', 'black'), key='-Stop-'),
sg.Button('Reset', button_color=('white', 'firebrick3'), key='-Reset-'),
sg.Button('Submit', button_color=('white', 'springgreen4'), key='-Submit-')]]
window = sg.Window("Time Tracker", default_element_size=(12,1), text_justification='r', auto_size_text=False, auto_size_buttons=False,
default_button_element_size=(12,1)).Layout(layout).Finalize()
window = sg.Window("Time Tracker", layout,
default_element_size=(12, 1),
text_justification='r',
auto_size_text=False,
auto_size_buttons=False,
default_button_element_size=(12, 1),
finalize=True)
for key, state in {'_Start_': False, '_Stop_': True, '_Reset_': True, '_Submit_': True}.items():
window.FindElement(key).Update(disabled=state)
for key, state in {'-Start-': False, '-Stop-': True, '-Reset-': True, '-Submit-': True}.items():
window[key].update(disabled=state)
recording = have_data = False
while True:
event, values = window.Read()
event, values = window.read()
print(event)
if event is None:
sys.exit(69)
if event == '_Start_':
for key, state in {'_Start_':True, '_Stop_':False, '_Reset_':False, '_Submit_':True}.items():
window.FindElement(key).Update(disabled=state)
break
if event == '-Start-':
for key, state in {'-Start-': True, '-Stop-': False, '-Reset-': False, '-Submit-': True}.items():
window[key].update(disabled=state)
recording = True
elif event == '_Stop_' and recording:
[window.FindElement(key).Update(disabled=value) for key,value in {'_Start_':False, '_Stop_':True, '_Reset_':False, '_Submit_':False}.items()]
elif event == '-Stop-' and recording:
[window[key].update(disabled=value) for key, value in {
'-Start-': False, '-Stop-': True, '-Reset-': False, '-Submit-': False}.items()]
recording = False
have_data = True
elif event == '_Reset_':
[window.FindElement(key).Update(disabled=value) for key,value in {'_Start_':False, '_Stop_':True, '_Reset_':True, '_Submit_':True}.items()]
elif event == '-Reset-':
[window[key].update(disabled=value) for key, value in {
'-Start-': False, '-Stop-': True, '-Reset-': True, '-Submit-': True}.items()]
recording = False
have_data = False
elif event == '_Submit_' and have_data:
[window.FindElement(key).Update(disabled=value) for key,value in {'_Start_':False, '_Stop_':True, '_Reset_':True, '_Submit_':False}.items()]
elif event == '-Submit-' and have_data:
[window[key].update(disabled=value) for key, value in {
'-Start-': False, '-Stop-': True, '-Reset-': True, '-Submit-': False}.items()]
recording = False
window.close()