起因:需要一个倒计时软件。1.这个功能很常用。那些所谓的绿色软件也不是很称心。
2.觉得应该会很简单,就打算用python写。
过程:忍住不google,打算只看
tkinter,费脑子想了半个小时,无果。
解决:最后,搜到了一个新年倒数10秒的一段代码[1]
决定在它的基础上改巴改巴
可能会需要有按钮,所以就从[2]拷贝了一段。
还要有输入的文本框,就从[3]拷贝了一段。
[3]还提供了消息框。好极了,倒计时到了就跳出一个消息框。
感想:从头到尾,历时一小时三十分钟。自己动手很有趣!这次技术含量低一点,下次逐步提高技术含量吧~
References:1.http://www./co
de/snippet216604.html
2.http://www./library/tkinter/introduction/hello-again.htm
3.http://www./2009/05/tkinter-entry-widget-single-line-text.html
附录:countDown.py
# Countdown using Tkinter
from Tkinter import *
import time
import tkMessageBox
class App:
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="Start", command=self.start)
self.hi_there.pack(side=LEFT)
self.button = Button(frame, text="QUIT", fg="red", command=frame.quit)
self.button.pack(side=LEFT)
def start(self):
text = self.entryWidget.get().strip()
if text != "":
num = int(text)
self.countDown(num)
def countDown(self,seconds):
lbl1.config(bg='yellow')
lbl1.config(height=3, font=('times', 20, 'bold'))
for k in range(seconds, 0, -1):
lbl1["text"] = k
root.update()
time.sleep(1)
lbl1.config(bg='red')
lbl1.config(fg='white')
lbl1["text"] = "Time up!"
tkMessageBox.showinfo("Time up!","Time up!")
def GetSource():
get_window = Tkinter.Toplevel(root)
get_window.title('Source File?')
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()