Эта программа, которую я пытаюсь создать, является таймером обратного отсчета, который получает пользовательский ввод в считанные секунды и начинает обратный отсчет.
Я получаю много ошибок с этим кодом и хотел бы пообщаться, возможно, на подобной розниили что-то подобное для некоторых решений, пожалуйста, и спасибо.
некоторые ошибки, которые я получаю, заключаются в том, что окно не открывается и у меня возникают проблемы с фоном.Я также не уверен, как вставить код обратного отсчета в текстовую метку, чтобы он появился позже.Я думаю, что мой код просто плохой в целом.
import tkinter as tk
#from Tkinter import font
import time
#import winsound
HEIGHT=500
WIDTH=600
def test(entry):
print ("this is the entry", entry)
def response():
while True:
sec=input("How many seconds?:")
try:
stop=abs(int(sec))
except KeyboardInterrupt:
break
except:
print ("Invalid Input")
while stop>0:
m, s =divmod(stop, 60)
h, m =divmod(m, 60)
time_left=str(h).zfill(2)+":"+str(m).zfill(2)+":"+str(s).zfill(2)
print ("\r"+time_left,end="")
time.sleep(1)
stop-=1
#winsound.beep(300,500)
window=tk.Tk()
window.title("Countdown Timer")
canvas=tk.Canvas(window, height=HEIGHT, width=WIDTH)
canvas.pack()
#background= tk.PhotoImage(file="night.gif")
#background_label=tk.Label(window, image=background)
#background.place(relwidth=1,relheight=1)
frame=tk.Frame(window,bg="#80c1ff", bd=5)
frame.place(relx=0.5, rely=0.1, relwidth=0.75, relheight=0.1, anchor="n")
entry=tk.Entry(frame,)
entry.place(relwidth=0.65,relheight=1)
button=tk.Button(frame, text="Test Button", command=lambda: test(entry.get()))
button.place(relx=0.7,relheight=1,relwidth=0.3)
frame2=tk.Frame(window, bg="#80c1ff",bd=10)
frame2.place(relx=0.5,rely=0.25,relwidth=0.75,relheight=0.6,anchor="n")
label=tk.Frame(frame2)
label.place(relwidth=1,relheight=1,)
label["text"]=response()
window.mainloop()