Почему в этом коде время идет быстрее

Время в коде идет примерно в 1,5 раза быстрее чем по нормальному секундомеру как это исправить

import keyboard
import tkinter as tk 
import tkinter.ttk as ttk
import time 
import os
import sys

temp_1 = 0
after_id_1 = ''
temp_2 = 0 
after_id_2 = ''
t = 0

def tick_2():  
    global temp_2, after_id_2, f_temp_2, milliseconds
    milliseconds = int((time.time() - int(time.time()))  )  # Получаем миллисекунды
    after_id_2 = root.after(10, tick_2)  # Обновляем каждые 10 мс
    f_temp_2 = time.strftime("%H:%M.%S", time.gmtime(temp_2))  # Добавляем миллисекунды
    label_2.configure(text=str(f_temp_2))
    temp_2 += 1

def tick_1():  # Запуск и отображение первой кнопки
    global temp_1, after_id_1, f_temp_1, milliseconds
    milliseconds = int((time.time() - int(time.time()))  ) 
    after_id_1 = root.after(10, tick_1)
    f_temp_1 = time.strftime("%H:%M.%S", time.gmtime(temp_1)) 
    label_1.configure(text=str(f_temp_1))
    temp_1 += 1

def start_tick_all():
    tick_1() #Таймер_1 запускается
    tick_2()

def stop_tick_1():
    root.after_cancel(after_id_1) #Таймер_1 останавливается

def stop_tick_2():
    root.after_cancel(after_id_2) #Таймер_1 останавливается

def continue_tick_1():
    tick_1() #Таймер_1 возобновляется

def restart():
    global temp_1, after_id_1, temp_2, after_id_2

    # Останавливаем текущие таймеры
    stop_tick_1()
    stop_tick_2()

    # Сбрасываем значения для таймеров
    temp_1 = 0
    temp_2 = 0

    # Обновляем метки времени
    label_1.configure(text='00:00.00')
    label_2.configure(text='00:00.00')

def check_keys():
    if keyboard.is_pressed('F5') and keyboard.is_pressed('F6'):
    start_tick_all()
    stop_tick_1()
    elif keyboard.is_pressed('F5') and keyboard.is_pressed('F7'):
    start_tick_all()
    stop_tick_2()
    elif keyboard.is_pressed('F6') and keyboard.is_pressed('F7'):
    stop_tick_1()
    stop_tick_2()
root.after(1, check_keys)  # Проверяем состояние клавиш каждые 100 мс

root = tk.Tk()
root.title("Welcome")
root.geometry('1200x800')

label_1 = tk.Label(root, text='00:00.00', font=('Arial', 50, 'bold'), fg='red', bg='green')
label_1.place(x=250, y=350)

label_2 = tk.Label(root, text='00:00.00', font=('Arial', 50, 'bold'))
label_2.place(x=600, y=350)

label_3 = tk.Label(root, text='1', font= ('Arial', 50, 'bold'))
label_3.place( x = 360, y =200)

label_4 = tk.Label(root, text='2', font= ('Arial', 50, 'bold'))
label_4.place( x = 710, y =200)

keyboard.add_hotkey('F5', start_tick_all)
keyboard.add_hotkey('F6', stop_tick_1)
keyboard.add_hotkey('F7', stop_tick_2)
keyboard.add_hotkey('F8', restart)

# Запускаем проверку состояния клавиш
root.after(10, check_keys)

root.mainloop()

Для Linux

import tkinter as tk 
import tkinter.ttk as ttk
import time


temp_1 = 0
after_id_1 = ''
temp_2 = 0 
after_id_2 = ''
t = 0

def tick_2():  
    global temp_2, after_id_2, f_temp_2, milliseconds
    milliseconds = int((time.time() - int(time.time()))  )  # 
    Получаем миллисекунды
    after_id_2 = root.after(10, tick_2)  # Обновляем каждые 10 мс
    f_temp_2 = time.strftime("%H:%M.%S", time.gmtime(temp_2))  # 
    Добавляем миллисекунды
    label_2.configure(text=str(f_temp_2))
    temp_2 += 1

def tick_1():  # Запуск и отображение первой кнопки
    global temp_1, after_id_1, f_temp_1, milliseconds
    milliseconds = int((time.time() - int(time.time()))  ) 
    after_id_1 = root.after(10, tick_1)
    f_temp_1 = time.strftime("%H:%M.%S", time.gmtime(temp_1)) 
    label_1.configure(text=str(f_temp_1))
    temp_1 += 1

def start_tick_all():
    tick_1() #Таймер_1 запускается
    tick_2()

def stop_tick_1():
    root.after_cancel(after_id_1) #Таймер_1 останавливается

def stop_tick_2():
    root.after_cancel(after_id_2) #Таймер_1 останавливается

def continue_tick_1():
    tick_1() #Таймер_1 возобновляется

def restart():
    global temp_1, after_id_1, temp_2, after_id_2

    # Останавливаем текущие таймеры
    stop_tick_1()
    stop_tick_2()

    # Сбрасываем значения для таймеров
    temp_1 = 0
    temp_2 = 0

    # Обновляем метки времени
    label_1.configure(text='00:00.00')
    label_2.configure(text='00:00.00')

root = tk.Tk()
root.title("Welcome")
root.geometry('1200x800')

label_1 = tk.Label(root, text='00:00.00', font=('Arial', 50, 'bold'), fg='red', bg='green')
label_1.place(x=250, y=350)

label_2 = tk.Label(root, text='00:00.00', font=('Arial', 50, 'bold'))
label_2.place(x=600, y=350)

label_3 = tk.Label(root, text='1', font= ('Arial', 50, 'bold'))
label_3.place( x = 360, y =200)

label_4 = tk.Label(root, text='2', font= ('Arial', 50, 'bold'))
label_4.place( x = 710, y =200)

btn_start = tk.Button(root, text='start', command= start_tick_all)
btn_start.place(x=10, y = 10)

btn_stop1 = tk.Button(root, text='stop 1', command= stop_tick_1)
btn_stop1.place(x= 100, y= 10)

btn_stop2 = tk.Button(root, text='stop 2',command= stop_tick_2)
btn_stop2.place(x= 200, y = 10)

root.mainloop()

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