想写一个动态时钟,自己写了几个都不满意,无意间发现一位大神的文章,学到很多。这么好的贴子不能沉了。
大神文章:https://blog.csdn.net/sin1277839683/article/details/103440544
自己根据参考和理解画的时钟:

代码如下:

import turtle as t
from datetime import *# 抬起画笔,向前运动一段距离放下
def skip(step):t.penup()t.forward(step)t.pendown()def skip_point(x, y):t.penup()t.goto(x, y)t.pendown()def draw_clock(radius):t.reset()  # 清空窗口,重置turtle状态为起始状态skip_point(200, 0)t.pencolor("yellow")t.pensize(80)t.circle(200)skip_point(0, 0)t.pencolor("black")t.pensize(7)for i in range(60):skip(radius)if i % 5 == 0:t.forward(20)if i == 0:skip(25)t.write(12, align="center", font=("Courier", 14, "bold"))skip(-25)else:skip(25)t.write(int(i / 5), align="center", font=("Courier", 14, "bold"))skip(-25)skip(-radius - 20)else:skip(5)t.dot(6, "green")  # 绘制一个指定直径和颜色的圆点skip(-radius-5)t.right(6)def draw_hand(name, length):# 注册Turtle形状,建立表针Turtlet.reset()t.begin_poly()t.forward(length)# 停止记录多边形的顶点。当前的乌龟位置是多边形的最后一个顶点。将与第一个顶点相连。t.end_poly()# 返回最后记录的多边形。handForm = t.get_poly()t.register_shape(name, handForm)def enabled_clock():global secHand, minHand, hurHand# 重置Turtle指向北t.mode("logo")# 建立三个表针Turtle并初始化draw_hand("second", 135)draw_hand("minute", 120)draw_hand("hour", 90)secHand = t.Turtle()secHand.color("red")secHand.shape("second")  # 只能定义成乌龟,不能定义成cat,dogminHand = t.Turtle()minHand.shape("minute")hurHand = t.Turtle()hurHand.shape("hour")for hand in secHand, minHand, hurHand:hand.shapesize(1, 1, 7)hand.speed(0)def action_clock():# 绘制表针的动态显示,相当于设立3个turtle对象t.hideturtle()time = datetime.today()second = time.secondminute = time.minute + second / 60.0hour = time.hour + minute / 60.0secHand.setheading(6 * second)  # 设置当前朝向为angle角度minHand.setheading(6 * minute)hurHand.setheading(30 * hour)# 100ms后继续调用tickt.ontimer(action_clock, 100)def main():# 打开/关闭龟动画,并为更新图纸设置延迟。t.tracer(False)enabled_clock()draw_clock(160)t.tracer(True)action_clock()t.mainloop()if __name__ == "__main__":main()

turtle画动态时钟相关推荐

  1. 用 Python 画动态时钟

    文 | 闲欢 来源:Python 技术「ID: pythonall」 时钟是我们日常生活中最常见的也是必不可少的东西,你有没有想过用 Python 来画一个实时动态的时钟呢?下面我们来看看如何使用简单 ...

  2. Python Turtle 画动态圣诞贺卡

    Python画动态圣诞贺卡 兔兔大人的第一个博客 圣诞节制作了一款动态贺卡,有圣诞树,点亮彩灯,飘雪以及文字效果.这是我的第一个博客作品,希望大家喜欢. 效果如下,有动态效果. 代码如下: # -*- ...

  3. Html5基于Canvas画一个动态时钟

    文章目录 前言 一.前期准备 二.绘制刻度 1.流程 2.效果图 三.绘制文字 1.流程 2.效果图 四.绘制指针 1.取得当前时间 2.绘制秒针 3.绘制分针 4.绘制时针 5.效果图 五.绘制圆心 ...

  4. css画钟表_如何使用css3绘制出圆形动态时钟

    使用css3绘制出圆形动态时钟的原理 众所周知的是div形状是方形的,那么我们首先需要使用border-radius属性将其变换成圆形. 为了使指针转动起来,我们需要使用-webkit-transfo ...

  5. python动态时钟代码_python实现简易动态时钟

    本文实例为大家分享了python实现简易动态时钟的具体代码,供大家参考,具体内容如下 from turtle import * from datetime import * #移动到指定位置 def ...

  6. 用python实现时间的动态(动态时钟)+ 算出某年某月星期几的所有日期

    一个玩得好的朋友突然大晚上的给我布置作业,吓得我精神抖擞.他的原话是: 感觉发现新大陆了,利用小海龟画的,上次玩海龟已经是几个月之前的事情了 https://blog.csdn.net/hanhanw ...

  7. 小案例:基于python的动态时钟,带十二时辰和经络养身

    一.前言 1.仅用来研究学习使用. 2.除正常显示时钟外,还可以实时显示当前对应的时辰,和经络养身提示. 3.适合辅助上班族来养生 二.效果如下: 三.源码如下: ''' 动态时钟附带十二时辰显示 ' ...

  8. 用python动态时钟代码_python实现简易动态时钟

    本文实例为大家分享了python实现简易动态时钟的具体代码,供大家参考,具体内容如下 from turtle import * from datetime import * #移动到指定位置 def ...

  9. 用python Turtle海龟绘制时钟遇到的各种坑汇总

    目标:用Turtle绘制一个时钟. 在了解了turtle的基本用法之后就开始了绘制过程,结果遇到了很多坑,这里一一列出,在总结的同时也方便其他朋友们也能更快的了解的turtle的使用. 第一版:静态的 ...

  10. Python-使用海龟绘图制作动态时钟

    在实现动态时钟时,需要使用python内置的datetime模块与turtle模块. 1.datetime模块 import datetime (1)datetime模块中datetime类的toda ...

最新文章

  1. php获取等于符号后面的参数,php获取URL中带#号等特殊符号参数的解决方法
  2. CentOS 安装与优化
  3. 【图像处理】纹理检测算法
  4. linux支持表情的字体,让应用程序支持emoji字符
  5. 细看CRLF注入***的原理和其防范措施
  6. Android接入百度自动更新SDK
  7. [Unity3D]Unity3D游戏开发Lua随着游戏的债券(于)
  8. 在.NET 6中使用DateOnly和TimeOnly
  9. replace为undefined_手写 XML 转化为 JS对象 方法
  10. 矿业公司Aurum对其房东提起法律诉讼,要求收回矿机
  11. (libgdx学习)Net的使用
  12. Linux 命令(23)—— rm 命令
  13. clickhouse kafka引擎入门
  14. BZOJ 2763 飞行线路
  15. python颜色识别_python颜色识别
  16. 2022年最新有关“绿色消费积分”制度的行业利好
  17. 机器学习笔记 - 时间序列的季节性
  18. 09年中国城市房价排行榜出炉 北京位居第4位
  19. java本地定时缓存,单例可执行外部接口
  20. 微信转盘抽奖前端源码(三):移动端浏览器兼容性(12个奖品,指针开始时指向奖品)

热门文章

  1. 设计模式的三大分类及六大原则
  2. 数学模型——药物中毒急救模型(基于python)
  3. Python科学计算——Numpy知识点
  4. echarts 地图 给每个区域设置定位点图标及散点
  5. Kepware配置OPC UA实现匿名or用户名/密码连接
  6. 解决无法使用miracast,导致手机无法投屏到电脑的问题
  7. eclipse导入jsp项目
  8. txt大文件打开软件
  9. 使用 URLDecoder 和 URLEncoder 对中文字符进行编码和解码
  10. html字体及文本样式设置