蛋疼的二进制时钟,蛋疼二进制时钟,[Python]代码#!
蛋疼的二进制时钟,蛋疼二进制时钟,[Python]代码#!
[Python]代码
#!usr/bin/env python'''author: JerryOnepython version: 2.7.1decription: a interesting binary clock writen by python and Tkinter'''import timefrom Tkinter import *from threading import Threadclass BinaryClock(Thread): '''the class of the binary clcock''' def __init__(self): Thread.__init__(self) self.root=Tk() self.now_time=StringVar() self.hour=[] self.minute=[] self.seconds=[] self.rect=[] self.rect_state=[] self.draw() def draw(self): self.root.title("Jerry's Binary Clock") self.canvas=Canvas(self.root, width=300, height=150, bg='white') self.label=Label(self.root, text='Now Time:') self.entry=Entry(self.root, textvariable=self.now_time) self.label.place(x=12, y=2) self.entry.pack() for a in range(5): self.canvas.create_line((a+1)*50, 0, (a+1)*50, 150) for b in range(2): self.canvas.create_line(0, (b+1)*50, 300, (b+1)*50) self.rect.append(self.canvas.create_rectangle((0,0,50,50), fill='white')) self.rect.append(self.canvas.create_rectangle((0,50,50,100), fill='white')) self.rect.append(self.canvas.create_rectangle((0,100,50,150), fill='white')) self.rect.append(self.canvas.create_rectangle((50,0,100,50), fill='white')) self.rect.append(self.canvas.create_rectangle((50,50,100,100), fill='white')) self.rect.append(self.canvas.create_rectangle((50,100,100,150), fill='white')) self.rect.append(self.canvas.create_rectangle((100,0,150,50), fill='white')) self.rect.append(self.canvas.create_rectangle((100,50,150,100), fill='white')) self.rect.append(self.canvas.create_rectangle((100,100,150,150), fill='white')) self.rect.append(self.canvas.create_rectangle((150,0,200,50), fill='white')) self.rect.append(self.canvas.create_rectangle((150,50,200,100), fill='white')) self.rect.append(self.canvas.create_rectangle((150,100,200,150), fill='white')) self.rect.append(self.canvas.create_rectangle((200,0,250,50), fill='white')) self.rect.append(self.canvas.create_rectangle((200,50,250,100), fill='white')) self.rect.append(self.canvas.create_rectangle((200,100,250,150), fill='white')) self.rect.append(self.canvas.create_rectangle((250,0,300,50), fill='white')) self.rect.append(self.canvas.create_rectangle((250,50,300,100), fill='white')) self.rect.append(self.canvas.create_rectangle((250,100,300,150), fill='white')) self.canvas.pack() def dec2bin(self, hour, minute, seconds): self.hour=list(bin(hour)) self.hour=self.hour[2:] while len(self.hour)<6: self.hour.insert(0, '0') self.minute=list(bin(minute)) self.minute=self.minute[2:] while len(self.minute)<6: self.minute.insert(0, '0') self.seconds=list(bin(seconds)) self.seconds=self.seconds[2:] while len(self.seconds)<6: self.seconds.insert(0, '0') self.rect_state=self.hour+self.minute+self.seconds def run(self): time.sleep(1) while True: self.now_time.set(str(time.strftime(' %Y-%m-%d %H:%M:%S', time.localtime(time.time())))) hour=int(time.localtime(time.time()).tm_hour) minute=int(time.localtime(time.time()).tm_min) seconds=int(time.localtime(time.time()).tm_sec) self.dec2bin(hour, minute, seconds) for i in range(18): if self.rect_state[i] == '0': self.canvas.itemconfig(self.rect[i], fill='white') elif self.rect_state[i] == '1': self.canvas.itemconfig(self.rect[i], fill='black') time.sleep(1)if __name__ == '__main__': binary_clock=BinaryClock() binary_clock.setDaemon(True) binary_clock.start() binary_clock.root.mainloop()
评论关闭