GUI не отвечает, созданный PySimpleGUI27 - PullRequest
0 голосов
/ 18 апреля 2019

Я использую PySimpleGUI27 для создания простой программы с графическим интерфейсом. Эта программа принимает 3 файла в качестве входных данных, и когда пользователь нажимает кнопку Submit, он вызывает функцию моего анализатора. Эта программа работает очень хорошо. Единственная проблема, с которой я столкнулся, заключается в том, что после нажатия кнопки «Отправить» я получаю Not Responding GUI for few seconds. Сообщение MSG не отображается в заголовке окна следующим образом: 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()

Может ли кто-нибудь помочь мне с этой не отвечающей проблемой?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...