2013-08-25 1 views
0

Я только начал изучать разработку для малины pi. Я хочу разработать приложение в TKinter, которое показывает отсчет с текущего времени до фиксированного времени окончания. Где я могу найти примеры исходных кодов, связанных с этим. Также каковы другие варианты, которые я могу использовать для разработки приложений на основе графического интерфейса для малинового пи.Обратный отсчет 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: это простой и легкий графический интерфейс, но довольно мощный. EasyGUI - еще одна простая структура, но я считаю ее слишком строгой. Наконец, в зависимости от вашего дистрибутива вы всегда можете привязать свой графический интерфейс к рабочему столу ОС: PyGnome, PyKDE, ... (просто избегайте Qt и WxWidgets, которые являются монстрами памяти).

список здесь: http://wiki.python.org/moin/GuiProgramming

 Смежные вопросы

  • Нет связанных вопросов^_^