Здравствуйте. Делаю секундомер на python с помощью библиотеки tkinter. Скажите кто знает почему 1 код с отформатированной строкой не работает, а 2 код без форматирования работает?
Код 1:
from tkinter import *
from datetime import datetime
temp = 0
after_id = ''
def tick():
global temp, after_id
after_id = root.after(1000, tick)
f_temp = datetime.fromtimestamp(temp).strftime("%M:%S")
label1.configure(text=str(f_temp))
temp += 1
def start_sw():
btn1.grid_forget()
btn2.grid(row=1, columnspan=2, sticky='ew')
tick()
root = Tk()
root.title("Stopwatch")
label1 = Label(root, width=5, font=("Ubuntu", 100), text="00:00")
label1.grid(row=0, columnspan=2)
btn1 = Button(root, text="Start", font=("Ubuntu", 30),command=start_sw)
btn2 = Button(root, text="Stop", font=("Ubuntu", 30))
btn3 = Button(root, text="Continue", font=("Ubuntu", 30))
btn4 = Button(root, text="Reset", font=("Ubuntu", 30))
btn1.grid(row=1, columnspan=2, sticky="ew")
root.mainloop()
Код 2:
from tkinter import *
from datetime import datetime
temp = 0
after_id = ''
def tick():
global temp, after_id
after_id = root.after(1000, tick)
label1.configure(text=str(temp))
temp += 1
def start_sw():
btn1.grid_forget()
btn2.grid(row=1, columnspan=2, sticky='ew')
tick()
root = Tk()
root.title("Stopwatch")
label1 = Label(root, width=5, font=("Ubuntu", 100), text="00:00")
label1.grid(row=0, columnspan=2)
btn1 = Button(root, text="Start", font=("Ubuntu", 30),command=start_sw)
btn2 = Button(root, text="Stop", font=("Ubuntu", 30))
btn3 = Button(root, text="Continue", font=("Ubuntu", 30))
btn4 = Button(root, text="Reset", font=("Ubuntu", 30))
btn1.grid(row=1, columnspan=2, sticky="ew")
root.mainloop()
Разница в кодов происходит на 10-11 строках в функции tick()