python实现屏保计时器

2018-08-17 09:47:28来源:博客园 阅读 ()

新老客户大回馈,云服务器低至5折

什么都不说先上图吧,Python初学者实现屏保计时器

原理:利用Python turtle库实现快速画图,每隔一秒钟擦除屏幕,然后获得电脑实时时间,再次画图,呈现动态时间。

关于数字如果画,可以把数字理解为一个晶体管状的8(7segments),不同数字都是其演变而来,只不过对不同数字实现抬笔,落笔动作,可以对不同

 1 import turtle, time
 2 def drawGap():
 3     turtle.penup()
 4     turtle.fd(5)
 5 def drawLine(draw):
 6     drawGap()
 7     turtle.pendown() if draw else turtle.penup()
 8     turtle.fd(40)
 9     drawGap()
10     turtle.right(90)
11 def drawDigit(d):
12     drawLine(True) if d in [2,3,4,5,6,8,9] else drawLine(False)  #g
13     drawLine(True) if d in [0,1, 3, 4, 5, 6,7, 8, 9] else drawLine(False) #c
14     drawLine(True) if d in [0, 2, 3, 5, 6, 8, 9] else drawLine(False) #d
15     drawLine(True) if d in [0,2,6,8] else drawLine(False) #e
16     turtle.left(90) #经历一次右转后,调整左转,方向竖直向上
17     drawLine(True) if d in [0,4,5,6,8,9] else drawLine(False) 
18     drawLine(True) if d in [0,2,3,5,6,7,8,9] else drawLine(False)
19     drawLine(True) if d in [0,1,2,3,4,7,8,9] else drawLine(False)
20     turtle.left(180)
21     turtle.penup()
22     turtle.fd(20)
23 def drawDate(date):
24     turtle.pencolor('red')
25     for i in date:
26         if i == '-':
27             turtle.write('',font=('Arial',18,'normal'))
28             turtle.pencolor('green')
29             turtle.fd(40)
30         elif i == '=':
31             turtle.write('', font=('Arial', 18, 'normal'))
32             turtle.pencolor('blue')
33             turtle.fd(40)
34         elif i == '+':
35             turtle.write('', font=('Arial', 18, 'normal'))
36             turtle.pencolor('yellow')
37         else:
38             drawDigit(eval(i))
39 def init():
40     turtle.setup(1920,1080,0,0) #设置画布大小 200 200 为屏幕位置
41     turtle.speed(10)
42     turtle.penup() 
43     turtle.goto(0,0)
44     turtle.fd(-350)
45     turtle.pensize(5)
46 def main():
47     while True:
48         turtle.clear()
49         init()
50         time_string = time.strftime("%H-%M=%S+", time.localtime())
51         turtle.getscreen().tracer(30,0)
52         drawDate(time_string) #格式化时间 2017-05=02+ 控制输入年日月
53         time.sleep(1)
54         turtle.hideturtle()
55 
56 main()

 

最后可以利用pyinstaller库实现Python程序exe软件化。

1 :\>pip install pyinstaller
2 :\>pyinstaller D:\codes\dpython.py
3 :\>pyinstaller -F dpython.py  //可以通过-F 参数对 Python 源文件生成一个独立的可执行文件

 

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:【leetcode 简单】第三十三题 验证回文串

下一篇:神破解,Python获取任意QQ历史头像,事实证明都是从屌丝走过来的