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


Posted in Python onAugust 08, 2018

什么都不说先上图吧,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中的正则表达式的用法
Apr 09 Python
python提取字典key列表的方法
Jul 11 Python
Python ldap实现登录实例代码
Sep 30 Python
Django如何实现内容缓存示例详解
Sep 24 Python
python实现对象列表根据某个属性排序的方法详解
Jun 11 Python
Python实现朴素贝叶斯的学习与分类过程解析
Aug 24 Python
如何安装2019Pycharm最新版本(详细教程)
Sep 26 Python
使用python turtle画高达
Jan 19 Python
logging level级别介绍
Feb 21 Python
Python Tkinter Entry和Text的添加与使用详解
Mar 04 Python
Python lxml库的简单介绍及基本使用讲解
Dec 22 Python
如何使用Tkinter进行窗口的管理与设置
Jun 30 Python
详解Python 装饰器执行顺序迷思
Aug 08 #Python
python Flask 装饰器顺序问题解决
Aug 08 #Python
Python BS4库的安装与使用详解
Aug 08 #Python
python特性语法之遍历、公共方法、引用
Aug 08 #Python
用Python shell简化开发
Aug 08 #Python
在Python中使用gRPC的方法示例
Aug 08 #Python
Python实现购物评论文本情感分析操作【基于中文文本挖掘库snownlp】
Aug 07 #Python
You might like
PHP原生模板引擎 最简单的模板引擎
2012/04/25 PHP
解析数组非数字键名引号的必要性
2013/08/09 PHP
ThinkPHP的URL重写问题
2014/06/22 PHP
php+curl 发送图片处理代码分享
2015/07/09 PHP
CI配置多数据库访问的方法
2016/03/28 PHP
AJAX PHP无刷新form表单提交的简单实现(推荐)
2016/09/09 PHP
如何优雅的使用 laravel 的 validator验证方法
2018/11/11 PHP
Jquery中的层次选择器与find()的区别示例介绍
2014/02/20 Javascript
XML、HTML、CSS与JS的区别整理
2016/02/18 Javascript
input file上传 图片预览功能实例代码
2016/10/25 Javascript
jQuery动态生成表格及右键菜单功能示例
2017/01/13 Javascript
详解Node.js 命令行程序开发教程
2017/06/07 Javascript
基于vue2.0实现的级联选择器
2017/06/09 Javascript
JS实现匀加速与匀减速运动的方法示例
2017/09/04 Javascript
基于BootStrap的文本编辑器组件Summernote
2017/10/27 Javascript
JavaScript中的一些隐式转换和总结(推荐)
2017/12/22 Javascript
vue短信验证性能优化如何写入localstorage中
2018/04/25 Javascript
JavaScript中工厂函数与构造函数示例详解
2019/05/06 Javascript
npx create-react-app xxx创建项目报错的解决办法
2020/02/17 Javascript
[58:15]2018DOTA2亚洲邀请赛 4.1 小组赛 A组 NB vs Liquid
2018/04/02 DOTA
[02:47]2018年度DOTA2最佳辅助位选手4号位-完美盛典
2018/12/17 DOTA
利用Python中的输入和输出功能进行读取和写入的教程
2015/04/14 Python
简介二分查找算法与相关的Python实现示例
2015/08/26 Python
浅谈python爬虫使用Selenium模拟浏览器行为
2018/02/23 Python
Python数据类型之String字符串实例详解
2019/05/08 Python
Python Django的安装配置教程图文详解
2019/07/17 Python
详解Python用三种方式统计词频的方法
2019/07/29 Python
详解用Python为直方图绘制拟合曲线的两种方法
2019/08/21 Python
Python rabbitMQ如何实现生产消费者模式
2020/08/24 Python
django inspectdb 操作已有数据库数据的使用步骤
2021/02/07 Python
用css3实现转换过渡和动画效果
2020/03/13 HTML / CSS
什么是抽象
2015/12/13 面试题
大学生自我鉴定
2013/12/08 职场文书
导游实习生自荐书
2014/01/28 职场文书
双语教学实施方案
2014/03/23 职场文书
Pytorch反向传播中的细节-计算梯度时的默认累加操作
2021/06/05 Python