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

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

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

import turtle, time
def drawGap():
    turtle.penup()
    turtle.fd()
def drawLine(draw):
    drawGap()
    turtle.pendown() if draw else turtle.penup()
    turtle.fd()
    drawGap()
    turtle.right()
def drawDigit(d):
    drawLine(True) ,,,,,,] else drawLine(False)  #g
    drawLine(True) ,, , , , ,, , ] else drawLine(False) #c
    drawLine(True) , , , , , , ] else drawLine(False) #d
    drawLine(True) ,,,] else drawLine(False) #e
    turtle.left() #经历一次右转后,调整左转,方向竖直向上
    drawLine(True) ,,,,,] else drawLine(False)
    drawLine(True) ,,,,,,,] else drawLine(False)
    drawLine(True) ,,,,,,,] else drawLine(False)
    turtle.left()
    turtle.penup()
    turtle.fd()
def drawDate(date):
    turtle.pencolor('red')
    for i in date:
        if i == '-':
            turtle.write(,'normal'))
            turtle.pencolor('green')
            turtle.fd()
        elif i == '=':
            turtle.write(, 'normal'))
            turtle.pencolor('blue')
            turtle.fd()
        elif i == '+':
            turtle.write(, 'normal'))
            turtle.pencolor('yellow')
        else:
            drawDigit(eval(i))
def init():
    turtle.setup(,,,) #设置画布大小   为屏幕位置
    turtle.speed()
    turtle.penup()
    turtle.,)
    turtle.fd(-)
    turtle.pensize()
def main():
    while True:
        turtle.clear()
        init()
        time_string = time.strftime("%H-%M=%S+", time.localtime())
        turtle.getscreen().tracer(,)
        drawDate(time_string) #格式化时间 -=+ 控制输入年日月
        time.sleep()
        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实现屏保计时器的更多相关文章

  1. python写的屏保程序

    __author__ = 'ChenYan' from random import randint from tkinter import * class Randball(): def __init ...

  2. 一个仿windows泡泡屏保的实现

    一个仿windows泡泡屏保的实现 有天看到有人在百度知道上问windows 泡泡屏保该怎么用C#做,一时有趣,就做了一个出来,对于其中几个要点总结如下: 一,屏保程序的制作要求 屏保程序的扩展名是. ...

  3. Winform中实现自定义屏保效果(附代码下载)

    场景 效果 注: 博客主页: https://blog.csdn.net/badao_liumang_qizhi 关注公众号 霸道的程序猿 获取编程相关电子书.教程推送与免费下载. 实现 新建form ...

  4. C#制作简易屏保

    前言:前段时间,有个网友问我C#制作屏保的问题,我瞬间懵逼了(C#还可以制作屏保!).于是我去查阅相关资料,下面把C#如何制作屏保的过程及我学习过程的心得也记录下来,希望对需要的人能有帮助. 基本思路 ...

  5. 仿W8屏保

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  6. Linux关闭休眠和屏保模式

    本人因为特殊需求,想让某台Linux主机始终显示某个程序,显示器不能关机或者休眠或进入屏保模式. 环境:Ubuntu 11.10 最小化模式安装并安装有轻量级桌面openbox(非gnome).因为X ...

  7. [AIR] AS3.0设置屏保功能

    package com.controls { import flash.desktop.NativeApplication; import flash.events.Event; import fla ...

  8. Win XP 如何禁用屏保

    如果你试过 “在桌面空白处点击右键-[属性]-[屏幕保护程序],选择[无],点击[确定]”后,当时是可以去掉屏保.但如果重启计算机或者从待机状态唤醒后,屏保依然会出现,那么你可以试试下面的方法. 首先 ...

  9. wpf 制作播放视频的屏保程序、而且能分屏显示

    这个程序用到了WPF里  “visual_Brush”(主要是为了实现分屏显示) , “UserControl” ,这两个知识点: 在屏保状态下播放指定文件夹下的视频,而且能分屏显示: 把编译好的屏保 ...

随机推荐

  1. Linxu系统修改文件描述符

    修改系统文件描述符 文件描述符:无符号整数(0-65535),进程使用它来标示打开的文件    /etc/security/limits.conf:可以修改CPU,堆栈,   1.查看最大的标示符 u ...

  2. Oracle数据库运维:要对监听日志文件(listener.log)进行定期清理,如果不定期清理,会遇到下面一些麻烦

    原文链接: http://www.lookdaima.com/WebForms/WebPages/Blanks/Pm/Docs/DocItemDetail.aspx?EmPreviewTypeV=2& ...

  3. 铁乐学python_Day42_锁和队列

    铁乐学python_Day42_锁和队列 例:多个线程抢占资源的情况 from threading import Thread import time def work(): global n tem ...

  4. 剑指offer 11二进制中1的个数

    输入一个整数,输出该数二进制表示中1的个数.其中负数用补码表示. java版本: public class Solution { public int NumberOf1(int n) { Strin ...

  5. (1)Object类 (2)包装类和数学处理类 (3)String类

    1.Object类1.1 基本概念 java.lang.Object类是Java类层次结构的根类,任何类都是Object类的直接/间接子类. 1.2 常用的方法(重点) Object() - 无参构造 ...

  6. [BZOJ 4031][LOJ 2122][HEOI 2015] 小Z的房间

    [BZOJ 4031][LOJ 2122][HEOI 2015] 小Z的房间 题意 给定一个 \(n\times m\) 的矩阵, 一些格子是障碍, 相邻的格子(四联通)之间可以连边, 求把非障碍的格 ...

  7. Java虚拟机16:Java内存模型

    什么是Java内存模型 Java虚拟机规范中试图定义一种Java内存模型(Java Memory Model,JMM)来屏蔽掉各种硬件和操作系统的访问差异,以实现让Java程序在各种平台下都能达到一致 ...

  8. pthread线程内存布局

    http://www.cnblogs.com/snake-hand/p/3148191.html 我们从图上可以看出,两个线程之间的栈是独立的,其他是共享的,所以,在操作共享区域的时候才有可能出现同步 ...

  9. Center OS 7 /etc/rc.d/init.d/network, status=6

    service network restart 报错 Center OS 7 /etc/rc.d/init.d/network status=6 google上找到答案: Just in case a ...

  10. 【转】合格PHP工程师的知识结构

    PHP的运行环境 连环境都搞不起来,就是你有多么喜欢PHP,那也是白搭,开始我们大多会使用集成环境软件例如xampp,wamp.随着知识的增加慢慢要学会自己搭建运行环境,例如 Linux(Ubuntu ...