1. 程式人生 > >python實現屏保計時器

python實現屏保計時器

speed hide 晶體管 oca 時間 trace while 初學 else

什麽都不說先上圖吧,Python 初學者實現屏保計時器

原理:利用 Python turtle 庫實現快速畫圖,每隔一秒鐘擦除屏幕,然後獲得電腦實時時間,再次畫圖,呈現動態時間。

關於數字如果畫,可以把數字理解為一個晶體管狀的 8(7segments),不同數字都是其演變而來,只不過對不同數字實現擡筆,落筆動作,可以對不同

import turtle, time
def drawGap():
    turtle.penup()
    turtle.fd(5)
def drawLine(draw):
    drawGap()
    turtle.pendown() if draw else
turtle.penup() turtle.fd(40) drawGap() turtle.right(90) def drawDigit(d): drawLine(True) if d in [2,3,4,5,6,8,9] else drawLine(False) #g drawLine(True) if d in [0,1, 3, 4, 5, 6,7, 8, 9] else drawLine(False) #c drawLine(True) if d in [0, 2, 3, 5, 6, 8, 9] else drawLine(False) #d drawLine(True)
if d in [0,2,6,8] else drawLine(False) #e turtle.left(90) #經歷一次右轉後,調整左轉,方向豎直向上 drawLine(True) if d in [0,4,5,6,8,9] else drawLine(False) drawLine(True) if d in [0,2,3,5,6,7,8,9] else drawLine(False) drawLine(True) if d in [0,1,2,3,4,7,8,9] else drawLine(False) turtle.left(180) turtle.penup() turtle.fd(
20) def drawDate(date): turtle.pencolor(red) for i in date: if i == -: turtle.write(,font=(Arial,18,normal)) turtle.pencolor(green) turtle.fd(40) elif i == =: turtle.write(, font=(Arial, 18, normal)) turtle.pencolor(blue) turtle.fd(40) elif i == +: turtle.write(, font=(Arial, 18, normal)) turtle.pencolor(yellow) else: drawDigit(eval(i)) def init(): turtle.setup(1920,1080,0,0) #設置畫布大小 200 200 為屏幕位置 turtle.speed(10) turtle.penup() turtle.goto(0,0) turtle.fd(-350) turtle.pensize(5) def main(): while True: turtle.clear() init() time_string = time.strftime("%H-%M=%S+", time.localtime()) turtle.getscreen().tracer(30,0) drawDate(time_string) #格式化時間 2017-05=02+ 控制輸入年日月 time.sleep(1) turtle.hideturtle() main()

最後可以利用 pyinstaller 庫實現 Python 程序 exe 軟件化。

:\>pip install pyinstaller
:\>pyinstaller D:\codes\dpython.py
:\>pyinstaller -F dpython.py  //可以通過-F 參數對 Python 源文件生成一個獨立的可執行文件

作者:rottengeek

原文鏈接:http://t.cn/RD2bP69

技術分享圖片

python實現屏保計時器