I have made a GUI using PYSimpleGUI which looks something like this
The code for the same is as below:
import PySimpleGUI as sg
sg.theme('Light Blue 2')
layout = [[sg.Text('Choose files to get started', size=(30, 1), justification='center', font=("Helvetica", 25), relief=sg.RELIEF_RIDGE)],
[sg.Text('Select Logs you wish to validate', size=(30, 1), justification='left', font=("Helvetica", 15), relief=sg.RELIEF_RIDGE)],
[sg.Text('_' * 100, size=(65, 1))],
[sg.Checkbox('SVAS Log', size=(10,1), key='chk_svas'), sg.Checkbox('HSS Log', size=(10,1), key = 'chk_hss'), sg.Checkbox('AOTA Log', size=(10,1), key = 'chk_aota'), sg.Checkbox('Nexus Log', size=(10,1), key = 'chk_nexus')],
[sg.Button('Get Inputs')],
[sg.Text('_' * 100, size=(65, 1))],
[sg.Text('Request File', size=(15,1)), sg.Input(key='req'), sg.FileBrowse()],
[sg.Text('SVAS Log File', size=(15,1), key= 'txt_svas'), sg.Input(key='svas'), sg.FileBrowse(target= 'svas')],
[sg.Text('HSS Log File', size=(15,1)), sg.Input(key='hss'), sg.FileBrowse()],
[sg.Text('AOTA Log File', size=(15,1)), sg.Input(key='aota'), sg.FileBrowse()],
[sg.Text('Nexus Log File', size=(15,1)), sg.Input(key='nexus'), sg.FileBrowse()],
[sg.Submit('Generate Logs'), sg.Cancel('Quit'), sg.Button('Reset')],
[sg.Text('Generating Validation Logs...', size=(30,1), visible = False, key = 'progbar_head')],
[sg.ProgressBar(1000, orientation='h', size=(20, 20), key='progbar', visible = False)]]
window = sg.Window('Provident Logs Validator', layout, size=(600, 400))
while True:
event, values = window.read()
if event == 'Quit':
break
print(event, values)
Initially the below part should be completely hidden
[sg.Text('SVAS Log File', size=(15,1), key= 'txt_svas'), sg.Input(key='svas'), sg.FileBrowse(target= 'svas')],
[sg.Text('HSS Log File', size=(15,1)), sg.Input(key='hss'), sg.FileBrowse()],
[sg.Text('AOTA Log File', size=(15,1)), sg.Input(key='aota'), sg.FileBrowse()],
[sg.Text('Nexus Log File', size=(15,1)), sg.Input(key='nexus'), sg.FileBrowse()]
and should toggle visible/invisible selectively depending upon the check boxes I select/deselect. For eg if i only select the check boxes for SVAS and HSS only the below should be made visible:
[sg.Text('SVAS Log File', size=(15,1), key= 'txt_svas'), sg.Input(key='svas'), sg.FileBrowse(target= 'svas')],
[sg.Text('HSS Log File', size=(15,1)), sg.Input(key='hss'), sg.FileBrowse()],
and if I uncheck them them they should go invisible again
How can this be achieved? I am new to Python and PySimpleGUI.