python实现倒计时小工具
本文实例为大家分享了python实现倒计时小工具的具体代码,供大家参考,具体内容如下
#!/usr/bin/envpython
#coding=utf-8
importthreading
importtime
importQueue
fromTkinterimport*
importtkMessageBox
importlogging
logging.basicConfig(level=logging.INFO)
##Communicationqueue
commQueue=Queue.Queue()
g_time=0
##Functionruninthread
deftimeThread():
globalg_time
g_time=timeVar.get()*60
while1:
logging.info("线程放入队列:%d".decode("utf-8")%g_time)
commQueue.put(g_time)
try:
root.event_generate('<>',when='tail')
exceptTclError:
break
time.sleep(1)
g_time-=1
ifg_time==-1:
begin_btn["fg"]="black"
clockVar.set("开始计时")
break
deftimeChanged(event):
x=commQueue.get()
logging.info("获取队列:%d".decode("utf-8")%x)
minits=x//60
seconds=x%60
s="剩余时间{:02}:{:02}".format(minits,seconds)
begin_btn["fg"]="blue"
clockVar.set(s)
ifx==0:
tkMessageBox.showinfo("提醒","时间已到")
defclock_func(*args):
globalg_time
ifthreading.activeCount()>1:
g_time=timeVar.get()*60
else:
th=threading.Thread(target=timeThread)
th.start()
##Createmainwindow
root=Tk()
root.title("计时工具")
root.geometry("180x95-0-45")
root.resizable(width=FALSE,height=FALSE)
root.wm_attributes("-topmost",1)
frame=Frame(root)
frame.pack()
Label(frame,text="设定时间间隔").grid(row=1,column=2)
timeVar=IntVar()
clockVar=StringVar()
time_entry=Entry(frame,textvariable=timeVar,width=8)
time_entry["justify"]="center"
time_entry.grid(row=2,column=2,sticky="W,E")
begin_btn=Button(frame,textvariable=clockVar,command=clock_func)
begin_btn.grid(row=3,column=2)
timeVar.set(8)
begin_btn["fg"]="black"
clockVar.set("开始计时")
forchildinframe.winfo_children():
child.grid_configure(pady=3)
time_entry.focus()
root.bind('<>',timeChanged)
root.bind("",clock_func)
root.mainloop()
小编再为大家分享一段代码:Python窗口倒计时
#CountdownusingTkinter
fromtkinterimport*
importtime
importtkinter.messagebox
classApp:
def__init__(self,master):
frame=Frame(master)
frame.pack()
self.entryWidget=Entry(frame)
self.entryWidget["width"]=15
self.entryWidget.pack(side=LEFT)
self.hi_there=Button(frame,text="开始",command=self.start)
self.hi_there.pack(side=LEFT)
self.button=Button(frame,text="退出",fg="red",command=frame.quit)
self.button.pack(side=LEFT)
defstart(self):
text=self.entryWidget.get().strip()
iftext!="":
num=int(text)
self.countDown(num)
defcountDown(self,seconds):
lbl1.config(bg='yellow')
lbl1.config(height=3,font=('times',20,'bold'))
forkinrange(seconds,0,-1):
ifk==30:
print("\a")
ifk==29:
print("\a")
ifk==28:
print("\a")
lbl1["text"]=k
root.update()
time.sleep(1)
lbl1.config(bg='red')
lbl1.config(fg='white')
lbl1["text"]="时间到!"
tkMessageBox.showinfo("时间到!","时间到!")
defGetSource():
get_window=Tkinter.Toplevel(root)
get_window.title('SourceFile?')
Tkinter.Entry(get_window,width=30,
textvariable=source).pack()
Tkinter.Button(get_window,text="Change",
command=lambda:update_specs()).pack()
root=Tk()
root.title("Countdown")
lbl1=Label()
lbl1.pack(fill=BOTH,expand=1)
app=App(root)
root.mainloop()
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持毛票票。