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、PyCharm安装及使用方法(Mac版)详解
Apr 28 Python
Python解析json之ValueError: Expecting property name enclosed in double quotes: line 1 column 2(char 1)
Jul 06 Python
python 生成器协程运算实例
Sep 04 Python
python 读入多行数据的实例
Apr 19 Python
python 中字典嵌套列表的方法
Jul 03 Python
python 去除txt文本中的空格、数字、特定字母等方法
Jul 24 Python
Python3模拟登录操作实例分析
Mar 12 Python
python Popen 获取输出,等待运行完成示例
Dec 30 Python
详解Python设计模式之策略模式
Jun 15 Python
Python字符串查找基本操作代码案例
Oct 27 Python
解决python3中os.popen()出错的问题
Nov 19 Python
vue.js刷新当前页面的实例讲解
Dec 29 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
德生PL450的电路分析和低放电路的改进办法
2021/03/02 无线电
php实现把url转换迅雷thunder资源下载地址的方法
2014/11/07 PHP
php析构函数的简单使用说明
2015/08/24 PHP
PHP+mysql+ajax轻量级聊天室实现方法详解
2016/10/17 PHP
PHP使用递归算法无限遍历数组示例
2017/01/13 PHP
PHP中用Trait封装单例模式的实现
2019/12/18 PHP
JQuyer $.post 与 $.ajax 访问WCF ajax service 时的问题需要注意的地方
2011/09/20 Javascript
jWiard 基于JQuery的强大的向导控件介绍
2011/10/28 Javascript
javascript中的=等号个数问题两个跟三个有什么区别
2013/10/23 Javascript
jquery如何判断表格同一列不同行input数据是否重复
2014/05/14 Javascript
理解JavaScript的变量的入门教程
2015/07/07 Javascript
详解JavaScript中this关键字的用法
2016/05/26 Javascript
JS中setTimeout和setInterval的最大延时值详解
2017/02/13 Javascript
php register_shutdown_function函数详解
2017/07/23 Javascript
浅谈webpack devtool里的7种SourceMap模式
2019/01/14 Javascript
详解JavaScript对数组操作(添加/删除/截取/排序/倒序)
2019/04/28 Javascript
vue-i18n结合Element-ui的配置方法
2019/05/20 Javascript
javascript canvas API内容整理
2020/02/16 Javascript
vue router返回到指定的路由的场景分析
2020/11/10 Javascript
Python中一些自然语言工具的使用的入门教程
2015/04/13 Python
Python升级导致yum、pip报错的解决方法
2017/09/06 Python
浅谈python可视化包Bokeh
2018/02/07 Python
分析python请求数据
2018/08/19 Python
Python 比较文本相似性的方法(difflib,Levenshtein)
2018/10/15 Python
Python函数返回不定数量的值方法
2019/01/22 Python
python批量爬取下载抖音视频
2019/06/17 Python
python rolling regression. 使用 Python 实现滚动回归操作
2020/06/08 Python
python自动化办公操作PPT的实现
2021/02/05 Python
CSS3制作炫酷的下拉菜单及弹起式选单的实例分享
2016/05/17 HTML / CSS
阿迪达斯印度官方商城:adidas India
2017/03/26 全球购物
为什么要用EJB
2014/04/17 面试题
物理力学求职信
2014/02/18 职场文书
2014年消防工作实施方案
2014/02/20 职场文书
日化店促销方案
2014/03/26 职场文书
助人为乐模范事迹材料
2014/06/02 职场文书
小学教师培训方案
2014/06/09 职场文书