回答此问题可获得 20 贡献值,回答如果被采纳可获得 50 分。
<p>我使用PYSimpleGUI制作了一个GUI,它看起来像这样</p>
<p><a href="https://i.stack.imgur.com/Jyi0q.png" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/Jyi0q.png" alt="Click here to view GUI"/></a></p>
<p>其代码如下所示:</p>
<pre><code>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)
</code></pre>
<p>最初,下面的部分应完全隐藏</p>
<pre><code> [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()]
</code></pre>
<p>并且应根据我选择/取消选择的复选框有选择地切换可见/不可见。例如,如果我仅选择SVA和HSS的复选框,则应仅显示以下内容:</p>
<pre><code>[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()],
</code></pre>
<p>如果我取消选中它们,它们将再次变为不可见</p>
<p>如何做到这一点?我不熟悉Python和PySimpleGUI</p>