@xpestilent

Как оптимизировать работу приложения?

Как оптимизировать работу моего таймера?) При нажатии таймер сильно подтупливает и перемещение по экрану его тоже довольно не плавное. Есть возможность это как-то исправить?

import tkinter as tk
import time
import winsound

sec = 0
mn = 0

win = tk.Tk()

def kb():
    global mn
    global sec 
    nt = 240
    for t in range(0,1000):
        time.sleep(1)
        if t > 0 and t % nt == 0:
            lbl.config(text = f'Time left: Done')
            winsound.Beep(400,1000)
            return
        else:
            mn = (nt - ( t - (t // nt))) // 60 
            sec = (nt - ( t - (t // nt))) - mn*60
            lbl.config(text = f'Time left: {mn} min {sec} sec')
            win.update()

win.title('Timer')
win.resizable(width = False, height = False)
win.attributes('-toolwindow', True)
win.attributes("-topmost",True)

lbl = tk.Label(win, font=('Arial',12,'bold'),
               text = f'Time left: {mn} min {sec} sec '
               )


btn1 = tk.Button(win, text = "start",
                 font=('Arial',12,'bold'),
                 command = kb)


lbl.grid(row = 0, column = 0)
btn1.grid(row = 0, column = 1)




win.mainloop()
  • Вопрос задан
  • 60 просмотров
Решения вопроса 1
Vindicar
@Vindicar
RTFM!
Вместо цикла и win.update() научись использовать win.after().
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы