我正在使用PySimpleGUI27
创建一个简单的GUI程序。该程序将3个文件作为输入,当用户单击Submit
按钮时,它将调用我的解析器函数。这个程序工作得很好。我唯一的问题是单击“提交”按钮后得到Not Responding GUI for few seconds
。 “无响应”消息如下所示出现在窗口的标题上:A2L Parser(Not Responding)
在阅读PySimpleGUI27
食谱后,我发现必须window.Refresh()
,但是我无法弄清楚应该在代码中放置window.Refresh()
的确切位置。下面是我的代码:
import PySimpleGUI27 as sg
import parse
layout = [
[sg.Text('A2L File', size=(15, 1), auto_size_text=False, justification='right'),
sg.InputText('',key='_a2l_'), sg.FileBrowse(file_types=(("A2L File", "*.a2l"),))],
[sg.Text('Signals Lexicon', size=(15, 1), auto_size_text=False, justification='right'),
sg.InputText('',key='_sigLex_'), sg.FileBrowse(file_types=(("Excel File", "*.xlsx"),))],
[sg.Text('Parameters Lexicon', size=(15, 1), auto_size_text=False, justification='right'),
sg.InputText('',key='_parLex_'), sg.FileBrowse(file_types=(("Excel File", "*.xlsx"),))],
[sg.Submit(), sg.Cancel()],
[sg.Multiline(default_text='', size=(65, 10),key='_debug_')]
]
window = sg.Window('A2L Parser', default_element_size=(40, 1)).Layout(layout)
values_dict={}
while True:
button, values_dict = window.Read()
#if button=="Cancel" or not any(value == '' for value in values_dict.values()):
# break
if button=="Cancel" or button is None:
break
elif button=='Submit' and (not any(value == '' for value in values_dict.values())):
parse.parser(values_dict['_a2l_'], values_dict['_sigLex_'], values_dict['_parLex_'])
else:
sg.Popup("Please select files")
window.Element('_debug_').Update('1')
print values_dict
print button
window.Close()
有人可以帮助我解决此未响应的问题吗?