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()
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持毛票票。