python实现屏保计时器的示例代码

yipeiwu_com6年前Python基础

什么都不说先上图吧,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 源文件生成一个独立的可执行文件

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

Python 支付整合开发包的实现

轻量级支付方式整合集成,实现支付与业务完全剥离,快速简单完成支付模块的开发 特性 屏蔽支付方式之间接入API和数据结构的差异,统一API和数据结构 支持支付类型横向扩展 统...

django 控制页面跳转的例子

如下所示: def delEquipment(request, delip): print delip ip=delip conn= MySQLdb.connect(...

Python+OpenCV图片局部区域像素值处理改进版详解

Python+OpenCV图片局部区域像素值处理改进版详解

上个版本的Python OpenCV图片局部区域像素值处理,虽然实现了我需要的功能,但还是走了很多弯路,我意识到图片本就是数组形式,对于8位灰度图,通道数为1,它就是个二位数组,这样就没...

Python内置函数的用法实例教程

本文简单的分析了Python中常用的内置函数的用法,分享给大家供大家参考之用。具体分析如下: 一般来说,在Python中内置了很多有用的函数,我们可以直接调用。 而要调用一个函数,就需要...

利用Python暴力破解zip文件口令的方法详解

利用Python暴力破解zip文件口令的方法详解

前言 通过Python内置的zipfile模块实现对zip文件的解压,加点料完成口令破解 zipfile模块用来做zip格式编码的压缩和解压缩的,zipfile里有两个非常重要的cla...