I ve been trying to program some kind of countdown in python with UI. It s my first time working with Custom tkinter. I ve encountered a small problem where if I input the time, the label won t change as it should. If you know how to change the text of the label into 00:00 format and make it change progresivelly, please let me know.
我在座谈了许多东西,如果有人对整部法典感兴趣的话:
from customtkinter import *
from PIL import Image
import time
app = CTk()
app.title( Countdown, hopefully )
app.geometry("500x400")
set_appearance_mode( light ) #or light
minutes, seconds = 0, 0
switch_var_1 = StringVar(value="off")
def countdown(t):
def therest():
setted_text.configure( {minutes:02d}:{seconds:02d} )
while t:
mins, secs = divmod(t, 60)
timer = {:02d}:{:02d} .format(mins, secs)
therest()
print(timer, end = "
")
time.sleep(1)
t -= 1
print("ring")
def switch_event():
if switch_var_1.get() == on :
set_appearance_mode( dark )
elif switch_var_1.get() == off :
set_appearance_mode( light )
def start():
t = time_entry.get()
countdown(int(t))
entry_frame = CTkFrame(
master=app,
width=234,
height=55,
corner_radius=7,
bg_color= transparent ,
fg_color= transparent
)
time_entry = CTkEntry(
master=entry_frame,
placeholder_text= Enter the time (in seconds): ,
placeholder_text_color=( gray , #e3d296 ),
text_color=( black , #ffe894 ),
border_color=( gray , #e3d296 ),
border_width=3,
width=200,
height=25,
corner_radius=7
)
setted_text = CTkLabel(
master=entry_frame,
text= 00:00 ,
font=( Brass Mono , 20),
text_color=( black , #ffe894 )
)
def set_text():
setted_text.configure(text=f"{time_entry.get()}")
button_entry = CTkButton(
master=entry_frame,
text= Set ,
bg_color= transparent ,
fg_color= transparent ,
text_color=( black , #ffe894 ),
border_color=( gray , #e3d296 ),
hover_color=( #d9d9d9 , black ),
corner_radius=1,
height=25,
width=40,
border_width=3,
command=set_text
)
switch_1 = CTkSwitch(
master=app,
text= Mode ,
text_color=( black , #ffe894 ),
command=switch_event,
variable=switch_var_1, onvalue="on", offvalue="off",
progress_color= #ddc774 ,
button_color=( black , #ffe894 ),
button_hover_color=( #3c3c3c , #ffeeac )
)
button_start = CTkButton(
master=entry_frame,
text= Start Countdown ,
bg_color= transparent ,
fg_color= transparent ,
text_color=( black , #ffe894 ),
border_color=( gray , #e3d296 ),
hover_color=( #d9d9d9 , black ),
corner_radius=7,
height=25,
width=40,
border_width=3,
command=start
)
switch_1.place(relx=1, rely=0.9, anchor= se )
time_entry.place(relx=0, rely=0, anchor= nw )
button_entry.place(relx=1, rely=0, anchor= ne )
entry_frame.place(relx=0.1, rely=0.1, anchor= nw )
setted_text.place(relx=0, rely=1, anchor= sw )
button_start.place(relx=1, rely=1, anchor= se )
app.mainloop()