10/01/27 01:46:02
#!/usr/bin/python
import Tkinter as Tk
import time
from functools import partial
class NoodleTimer(Tk.Frame):
def __init__(self, master=None):
Tk.Frame.__init__(self, master)
self.label = Tk.Label(self, text='Timer', font='Arial 20')
self.label.pack(side='left')
menubutton = Tk.Menubutton(self, text='>')
menubutton.pack()
menu = Tk.Menu(menubutton, tearoff=0)
menu.add_command(label='1 minutes', command=partial(self.start, 60))
menu.add_command(label='3 minutes', command=partial(self.start, 180))
menu.add_command(label='5 minutes', command=partial(self.start, 300))
menubutton.config(menu=menu)
def start(self, sec):
self.finish_time = time.time() + sec
self.tick()
def tick(self):
t = self.finish_time - time.time()
if t < 0:
self.label.config(text="Time's up!")
else:
self.label.config(text='%02d:%02d'%(t/60, t%60))
self.after(100, self.tick)
if __name__ == '__main__':
app = NoodleTimer()
app.pack()
app.mainloop()