Как показать текущее окно в Tkinter? - PullRequest
0 голосов
/ 02 августа 2020

Надеюсь, вы поможете мне со следующей проблемой.

Я использую библиотеку tkinter, и у меня есть main_screen main_screen= Tk(), который зацикливается на mainloop()

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

Когда я нажимаю эту кнопку, появляется report_screen (см. Ниже в моем коде)

Новое окно должно появляются с командой Toplevel() и распечатывают этикетку с надписью «Запуск:

request_start = LabelFrame(report_screen, text="Starting...").pack()

, тогда моя программа должна запустить процесс, для завершения которого требуется около 10 секунд.

Предположим, что мой процесс как раз такой

time.sleep(10)

И, наконец, запустим следующую строку:

request_done = LabelFrame(report_screen, text="Done").pack()

В чем моя проблема?

Проблема в том, что report_screen не появляется до тех пор, пока процесс 10 se c не завершится, и появляется с обоими метками "Запуск ..." и " Готово ».

Я этого не хочу, мне нужно, чтобы report_screen отображался с меткой« Запуск », а затем запускал процесс, а когда процесс завершился, добавьте« Готово "label

Это часть моего кода, где у меня возникла эта проблема

report_screen = Toplevel()

request_start = Label(report_screen, text="Starting...").pack()

time.sleep(10) #example of my process that takes around 10 seconds

request_done = Label(report_screen, text="Done").pack()

1 Ответ

0 голосов
/ 02 августа 2020

Использование метода update() работает для обновления всего, что находится на экране

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