Зависание программы во время выполнения функции в Tkinter

Я создал небольшой графический интерфейс для одного из своих скриптов. Все работает хорошо.

Когда я нажимаю одну кнопку, она запускает большую функцию, которая анализирует большое количество данных с некоторых веб-сайтов.

Но как только я нажал кнопку, программа зависает до тех пор, пока функция не будет запущена полностью. Все работает нормально, но почему мой графический интерфейс зависает во время выполнения функции. Я хотел бы напечатать небольшой индикатор выполнения, но это невозможно.

Вот часть программы:

    self.Button1 = Button(self.MENU, text="IELTS", command=self.My_Command)
    self.Button1.grid(row=0, column=0,sticky=W+E)

def My_Command(self):

    ## HERE WE LAUNCH THE FUNCTION
    Module_1.main() # My Big Function from another file

    self.Button1.config(text="DONE")

Я не могу ничего делать/печатать во время выполнения Module_1.main()... GUI полностью зависает.

Функция Module_1.main() представляет собой потоковый синтаксический анализатор (анализирующий некоторые данные с двух веб-сайтов), его запуск обычно занимает 2 минуты. Если у кого-то есть идея, чтобы иметь возможность взаимодействовать с программой в течение 2 минут, необходимых для выполнения этой функции, это было бы очень полезно.

7
задан nbro 28 January 2015 в 02:18
поделиться