PySimpleGUI27创建的无响应GUI

时间:2019-04-18 06:46:09

标签: python windows user-interface hang pysimplegui

我正在使用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()

有人可以帮助我解决此未响应的问题吗?

0 个答案:

没有答案