分享

自己用python写一个倒计时软件 - Huiwei的日志 - 网易博客

 ganame 2011-03-01

自己用python写一个倒计时软件

默认分类 2010-10-17 10:25:20 阅读22 评论0   字号: 订阅

起因:需要一个倒计时软件。
1.这个功能很常用。那些所谓的绿色软件也不是很称心。
2.觉得应该会很简单,就打算用python写。

过程:
忍住不google,打算只看tkinter,费脑子想了半个小时,无果。

解决:
最后,搜到了一个新年倒数10秒的一段代码[1]
决定在它的基础上改巴改巴
可能会需要有按钮,所以就从[2]拷贝了一段。
还要有输入的文本框,就从[3]拷贝了一段。
[3]还提供了消息框。好极了,倒计时到了就跳出一个消息框。

感想:
从头到尾,历时一小时三十分钟。自己动手很有趣!这次技术含量低一点,下次逐步提高技术含量吧~

References:
1.http://www./code/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()

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多