起因:需要一個(gè)倒計(jì)時(shí)軟件。1.這個(gè)功能很常用。那些所謂的綠色軟件也不是很稱心。
2.覺得應(yīng)該會(huì)很簡單,就打算用python寫。
過程:忍住不google,打算只看
tkinter,費(fèi)腦子想了半個(gè)小時(shí),無果。
解決:最后,搜到了一個(gè)新年倒數(shù)10秒的一段代碼[1]
決定在它的基礎(chǔ)上改巴改巴
可能會(huì)需要有按鈕,所以就從[2]拷貝了一段。
還要有輸入的文本框,就從[3]拷貝了一段。
[3]還提供了消息框。好極了,倒計(jì)時(shí)到了就跳出一個(gè)消息框。
感想:從頭到尾,歷時(shí)一小時(shí)三十分鐘。自己動(dòng)手很有趣!這次技術(shù)含量低一點(diǎn),下次逐步提高技術(shù)含量吧~
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()