python实现简易动态时钟


Posted in Python onNovember 19, 2018

本文实例为大家分享了python实现简易动态时钟的具体代码,供大家参考,具体内容如下

from turtle import *
from datetime import *
#移动到指定位置
def skip(step):
  penup()
  forward(step)
  pendown()
#画指针
def drawpointer(name, length):
  reset()
  skip(-length*0.1)
  begin_poly()
  forward(length*1.1)
  end_poly()
  handForm = get_poly()
  register_shape(name, handForm)
#初始化
def init():
  global hrpointer, minpointer, secpointer, weektext
  #设置turtle Logo模式,朝北
  mode("logo")
  drawpointer("hrpointer", 90)
  drawpointer("minpointer", 130)
  drawpointer("secpointer", 140)
  hrpointer = Turtle()
  hrpointer.shape("hrpointer")
  minpointer = Turtle()
  minpointer.shape("minpointer")
  secpointer = Turtle()
  secpointer.shape("secpointer")
  secpointer.pencolor("red")
  for pointer in hrpointer, minpointer, secpointer:
    pointer.shapesize(3, 1, 1)
    pointer.speed(0)
  #文字输出
  weektext = Turtle()
  weektext.hideturtle()
  weektext.penup()
#设置表盘形状
def setupClock(radius):
  reset()
#  clockPanel = Turtle()
  pensize(7)
  pencolor("blue")
  for i in range(60):
    skip(radius)
    if i%5 == 0:
      forward(20)
      skip(-radius-20)
    else:
      dot(5)
      skip(-radius)
    right(6)

#星期文本
def Week(t):
  week = ["星期一", "星期二", "星期三", "星期四", "星期五", "星期六", "星期日"]
  return week[t.weekday()]
#日期文本
def Date(t):
  y = t.year
  m = t.month
  d = t.day
  return "%s %d %d" % (y, m, d)
#绘制表针动态显示
def tick():
  t = datetime.today()
  second = t.second + t.microsecond*0.0000001
  minute = t.minute + second/60.0
  hour = t.hour + minute/60.0
  secpointer.setheading(6*second)
  minpointer.setheading(6*minute)
  hrpointer.setheading(30*hour)
  tracer(False)
  weektext.forward(65)
  weektext.write(Week(t), align="center",font=("Courier", 14, "bold"))
  weektext.back(130)
  weektext.write(Date(t), align="center",font=("Courier", 14, "bold"))
  weektext.home()
  tracer(True)
  #间隔100ms调用一次
  ontimer(tick, 100)

def main():
  tracer(False)
  init()
  setupClock(160)
  tracer(True)
  tick()
  mainloop()
if __name__ == '__main__':
  main()

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python cookielib 登录人人网的实现代码
Dec 19 Python
一个计算身份证号码校验位的Python小程序
Aug 15 Python
Python提示[Errno 32]Broken pipe导致线程crash错误解决方法
Nov 19 Python
Python批量创建迅雷任务及创建多个文件
Feb 13 Python
python实现字符串连接的三种方法及其效率、适用场景详解
Jan 13 Python
Python实现基于PIL和tesseract的验证码识别功能示例
Jul 11 Python
对python中if语句的真假判断实例详解
Feb 18 Python
Python实现微信消息防撤回功能的实例代码
Apr 29 Python
python 递归调用返回None的问题及解决方法
Mar 16 Python
Pandas读取csv时如何设置列名
Jun 02 Python
通过代码实例解析Pytest运行流程
Aug 20 Python
利用Python读取微信朋友圈的多种方法总结
Aug 23 Python
python使用Turtle库绘制动态钟表
Nov 19 #Python
python+PyQT实现系统桌面时钟
Jun 16 #Python
Windows 8.1 64bit下搭建 Scrapy 0.22 环境
Nov 18 #Python
Window环境下Scrapy开发环境搭建
Nov 18 #Python
Python中安装easy_install的方法
Nov 18 #Python
win7 x64系统中安装Scrapy的方法
Nov 18 #Python
python实现简易数码时钟
Feb 19 #Python
You might like
推荐Discuz!5的PHP代码高亮显示与实现可运行代码
2007/03/15 PHP
php discuz 主题表和回帖表的设计
2009/03/13 PHP
php中在PDO中使用事务(Transaction)
2011/05/14 PHP
php中0,null,empty,空,false,字符串关系的详细介绍
2013/06/20 PHP
thinkPHP实现瀑布流的方法
2014/11/29 PHP
php中ob_flush函数和flush函数用法分析
2015/03/18 PHP
Opacity.js
2007/01/22 Javascript
jQuery源码分析-05异步队列 Deferred 使用介绍
2011/11/14 Javascript
div拖拽插件——JQ.MoveBox.js(自制JQ插件)
2013/05/17 Javascript
jQuery中阻止冒泡事件的方法介绍
2014/04/12 Javascript
最短的IE判断var ie=!-[1,]分析
2014/05/28 Javascript
javascript包装对象实例分析
2015/03/27 Javascript
AngularJS仿苹果滑屏删除控件
2016/01/18 Javascript
利用React-router+Webpack快速构建react程序
2016/10/27 Javascript
javascript十六进制数字和ASCII字符之间的转换方法
2016/12/27 Javascript
在bootstrap中实现轮播图实例代码
2017/06/11 Javascript
AngularJS 限定$scope的范围实例详解
2017/06/23 Javascript
this在vue和小程序中的使用详解
2019/01/28 Javascript
Element Rate 评分的使用方法
2020/07/27 Javascript
python访问sqlserver示例
2014/02/10 Python
通过Python爬虫代理IP快速增加博客阅读量
2016/12/14 Python
python中urllib.unquote乱码的原因与解决方法
2017/04/24 Python
Python3 关于pycharm自动导入包快捷设置的方法
2019/01/16 Python
python3.6下Numpy库下载与安装图文教程
2019/04/02 Python
利用python和百度地图API实现数据地图标注的方法
2019/05/13 Python
python实现两个经纬度点之间的距离和方位角的方法
2019/07/05 Python
关于Python中定制类的比较运算实例
2019/12/19 Python
L’urv官网:精品女性运动服品牌
2019/07/07 全球购物
有趣、实用和鼓舞人心的产品:Inspire Uplift
2019/11/05 全球购物
毕业生教师求职信
2013/10/20 职场文书
入学申请自荐信范文
2014/02/26 职场文书
2014年小学工作总结
2014/11/26 职场文书
教师年度个人总结
2015/02/11 职场文书
2015年助理工程师工作总结
2015/04/03 职场文书
开学典礼致辞
2015/07/29 职场文书
Python Django项目和应用的创建详解
2021/11/27 Python