Различные проблемы с таймером обратного отсчета tkinter - PullRequest
0 голосов
/ 25 сентября 2019

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

Я получаю много ошибок с этим кодом и хотел бы пообщаться, возможно, на подобной розниили что-то подобное для некоторых решений, пожалуйста, и спасибо.

некоторые ошибки, которые я получаю, заключаются в том, что окно не открывается и у меня возникают проблемы с фоном.Я также не уверен, как вставить код обратного отсчета в текстовую метку, чтобы он появился позже.Я думаю, что мой код просто плохой в целом.

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()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...