2013-08-25 137 views
0

我剛開始學習樹莓派的開發。我想在TKinter中開發一個應用程序,它顯示從當前日期時間倒計時到固定結束日期時間。我在哪裏可以找到與此相關的示例源代碼。還有什麼是我可以用來開發樹莓派基於GUI的應用程序的其他選項。Tkinter python從當前日期倒數到固定日期

回答

0

這裏亞去。

import Tkinter as TK 
import datetime 

class countdown: 
    def __init__(self, master, time): # time in mm/dd/yy hh:mm:ss format 
     self.master = master 
     self.frame = TK.Frame(self.master) 
     self.targetTime = datetime.datetime.strptime(time, "%m/%d/%y %H:%M:%S") 
     self.timeRemainingLabel = TK.Label(self.frame) 
     self.startButton = TK.Button(self.frame, text="Start countdown", command=lambda:self.master.after(1000, self.update)) 
     self.endTimeLabel = TK.Label(self.frame, text="Target time in mm/dd/yy hh:mm:ss format:") 
     self.endTimeEntry = TK.Entry(self.frame) 
     self.endTimeEntry.insert(0, time) 
     self.frame.grid() 
     self.timeRemainingLabel.grid(row=1,column=1, columnspan=3) 
     self.startButton.grid(row=2, column=1, rowspan=2) 
     self.endTimeLabel.grid(row=2, column=2) 
     self.endTimeEntry.grid(row=3, column=2) 

    def update(self): 
     remaining = self.targetTime-datetime.datetime.now() 
     daysRemaining = remaining.days 
     hoursRemaining = int(remaining.seconds)/3600 
     minutesRemaining = int(remaining.seconds % 3600)/60 
     secondsRemaining = int(remaining.seconds % 60) 
     self.timeRemainingLabel.config(text="Time remaining until {targetTime}:\n*** {days} days {hours} hrs {minutes} min {seconds} sec ***".format(targetTime=datetime.datetime.strptime(self.endTimeEntry.get(), "%m/%d/%y %H:%M:%S"), days=daysRemaining, hours=hoursRemaining, minutes=minutesRemaining, seconds=secondsRemaining)) 
     self.master.after(1000, self.update) 

root = TK.Tk() 
c = countdown(root, "08/31/13 01:01:01") 
root.mainloop() 

圖片:

enter image description here

+0

非常感謝上面的代碼幫助。 – Vinita

+0

如果我必須添加圖片到網格,我該怎麼做。 – Vinita

0

這裏有一個計時器:How to create a timer using tkinter?。 您應該可以對其進行修改以符合您的需求。

關於你的第二個問題,我建議堅持Tkinter:它是一個簡單輕量級的GUI框架,但功能非常強大。 EasyGUI是另一個簡單的框架,但我覺得它有點太過於限制。最後,根據你的發行版,你總是可以將你的GUI綁定到OS桌面環境:PyGnome,PyKDE,...(避免Qt和WxWidgets是內存怪物)。

列表在這裏:http://wiki.python.org/moin/GuiProgramming