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 import用法以及与from...import的区别
May 28 Python
在Django的视图(View)外使用Session的方法
Jul 23 Python
Python中字典映射类型的学习教程
Aug 20 Python
简单了解Django模板的使用
Dec 20 Python
Python视频爬虫实现下载头条视频功能示例
May 07 Python
python 匹配url中是否存在IP地址的方法
Jun 04 Python
Django框架的使用教程路由请求响应的方法
Jul 03 Python
Flask核心机制之上下文源码剖析
Dec 25 Python
python矩阵/字典实现最短路径算法
Jan 17 Python
Python sep参数使用方法详解
Feb 12 Python
windows、linux下打包Python3程序详细方法
Mar 17 Python
Pytorch实现WGAN用于动漫头像生成
Mar 04 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
PHP删除数组中特定元素的两种方法
2013/07/02 PHP
php中把美国时间转为北京时间的自定义函数分享
2014/07/28 PHP
PHP字符串逆序排列实现方法小结【strrev函数,二分法,循环法,递归法】
2017/01/13 PHP
Yii2.0中使用js异步删除示例
2017/03/10 PHP
PHP实现的操作数组类库定义与用法示例
2019/05/24 PHP
javascript 语法基础 想学习js的朋友可以看看
2009/12/16 Javascript
js jquery数组介绍
2012/07/15 Javascript
用js来获取上传的文件名纯粹是为了美化而用
2013/10/23 Javascript
javascript操作referer详细解析
2014/03/10 Javascript
javascript实现的右下角弹窗实例
2015/04/24 Javascript
2016年最热门的15 款代码语法高亮工具,美化你的代码
2016/01/06 Javascript
IE8兼容Jquery.validate.js的问题
2016/12/01 Javascript
canvas绘制多边形
2017/02/24 Javascript
详解Vue.js入门环境搭建
2017/03/17 Javascript
AngularJS中下拉框的高级用法示例
2017/10/11 Javascript
在vue里面设置全局变量或数据的方法
2018/03/09 Javascript
vue项目动态设置页面title及是否缓存页面的问题
2018/11/08 Javascript
在vue中使用Base64转码的案例
2020/08/07 Javascript
探究一道价值25k的蚂蚁金服异步串行面试题
2020/08/21 Javascript
Django中cookie的基本使用方法示例
2018/02/03 Python
python 读取视频,处理后,实时计算帧数fps的方法
2018/07/10 Python
Python协程 yield与协程greenlet简单用法示例
2019/11/22 Python
MxNet预训练模型到Pytorch模型的转换方式
2020/05/25 Python
如何在python中实现线性回归
2020/08/10 Python
Python模拟登录requests.Session应用详解
2020/11/17 Python
浅谈amaze-ui中datepicker和datetimepicker注意的几点
2020/08/21 HTML / CSS
英国街头品牌:Bee Inspired Clothing
2018/02/12 全球购物
新加坡领先的在线生活方式和杂货购物网站:EAMART
2019/04/02 全球购物
戴尔新西兰官网:Dell New Zealand
2020/01/07 全球购物
大专毕业生简历的自我评价
2013/10/20 职场文书
大学生求职推荐信
2013/11/27 职场文书
前台岗位职责范本
2015/04/16 职场文书
婚礼迎宾词大全
2015/08/10 职场文书
《一面五星红旗》教学反思
2016/02/23 职场文书
TensorFlow中tf.batch_matmul()的用法
2021/06/02 Python
《最终幻想14》6.01版本4月5日推出 追加新任务新道具
2022/04/03 其他游戏