使用Python的Turtle库绘制一个显示时间的窗口
本实例来自Mooc课程上的一个案例,修改后可以显示实时时间
Turtle库详细使用:链接
import turtle as t
import time
def DrawLine(draw):
t.pendown() id draw else t.penup()
t.fd(30)
t.right(90)
def DrawDigit(digit):
DrawLine(True) if digit in [2,3,4,6,8,9] else DrawLine(False)
DrawLine(True) if digit in [0,1,3,4,5,6,7,8,9] else DrawLine(False)
DrawLine(True) if digit in [0,2,3,5,6,8,9] else DrawLine(False)
DrawLine(True) if digit in[0,2,6,8] else DrawLine(False)
t.left(90)
DrawLine(True) if digit in [0,4,5,6,8,9] else DrawLine(False)
DrawLine(True) if digit in [0,2,3,5,6,7,8,9] else DrawLine(False)
DrawLine(True) if digit in [0,1,2,3,4,7,8,9] else DrawLine(False)
t.left(180)
t.penup()
t.fd(10)
def DrawDate(date):
t.pencolor("red")
for each in date:
if each == '-':
t.write("时",font=("Arial",15,"normal"))
t.pencolor("green")
t.fd(25)
elif each == '=':
t.write("分",font=("Arial",15,"normal"))
t.pencolor("blue")
t.fd(25)
elif each == '+':
t.write("秒",font=("Arial",15,"normal"))
t.fd(25)
else:
DrawDigit(eval(each))
def main(String):
t.title("七段数码管(动态刷新)")
t.setup(600,300)
t.penup()
t.hideturtle()
t.pensize(3)
while(True):
t.pencolor("black")
t.goto(-260,-35)
t.tracer(False)
t.write(String,font=("Arial",15,"normal"))
t.goto(-150,0)
timeString = time.strftime("%H-%M=%S+",time.localtime())
DrawDate(timeString)
print(timeString)
t.clear()
time.sleep(1)
if __name__ == '__main__':
main()