Как создать таймер во время работы Tkinter в этом же коде. Python

Нужно сделать так:

Работает Tkinter interface и вместе с этим идёт отсчёт 1 секунды. После этого происходит какое-то действие.

Когда пытаюсь так сделать, ничего не происходит.

Код в функции которая вызывается:

def autoc():
    while True:
        time.sleep(1)
        click = click + 1
        lbl.configure(text=int(click))


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

Автор решения: Александр

Ну вот так

from tkinter import Tk, Label, Button, mainloop
from threading import Thread
import time


class App(Tk):
    def __init__(self):
        super().__init__()
        self.label = Label(self, text="")
        self.label.pack()

        button = Button(self, text="запустить бесконечный цикл")
        button.config(command=self.print)
        button.pack()

        self.update_clock()

    def update_clock(self):
        now = time.strftime("%H:%M:%S")
        self.label.configure(text=now)
        self.after(1000, self.update_clock)
    def print(self):
        def thread():
            while True:
                print("Поток безконечный цикл")
                time.sleep(1)
        Thread(target=thread).start()

def main():
    app = App()
    app.mainloop()

if __name__ == '__main__':
    main()
→ Ссылка
Автор решения: DGDays

Основные задачи для таймера:

1)Сделать отсчёт времени

2)Вывести отсчёт в другой поток(чтобы GUI не зависал)

С первым вы замечательно справились, значит будем реализовывать второй пункт.

Вот такой код у меня получился

from threading import Thread

....

Thread(target = autoc).start() # Используйте для вызова функции в отдельный поток, тогда остальная часть окна не будет виснуть
....

def autoc(): 
global click 
while True: 
    print("auto-click + 1") 
    time.sleep(1) 
    click += 1 
    lbl.configure(text=int(click))
→ Ссылка