Не работает цикл из-за Tkinter!

Как я понял, tk с циклами не дружит, т.к само окно (root, window...) по сути является циклом. Моя программа, которая должна выводить данные о процессоре, должна также выводить загрузку ЦП на ДАННЫЙ МОМЕНТ, т.е должен быть цикл обновления этих значений. Моя идея состояла в том, чтобы после кнопок и прочего добавить вот такой цикл обновления значения:

while True: # Цикл изменения параметров
    cpy_load_info.configure(text=str(psutil.cpu_percent())) # Возвращает нагрузку ЦП в виде float 
    time.sleep(1) # Задержка 

Но когда я запускаю код, окно просто не появляется, а просто идет выполнение моего цикла. Что делать?


Ответы (1 шт):

Автор решения: Интик
def func():
    #ваши действия
    root.after(1000,func)

func()

функция которая вызывает сама себя через 1 секунду. получается вечный цикл.1й раз её нужно запустить вручную. root.after это штука ткинтера, внутри милисекунды и имя функции без ().

→ Ссылка