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 相关文章推荐
Python2.x中文乱码问题解决方法
Jun 02 Python
python实现堆和索引堆的代码示例
Mar 19 Python
Windows上使用Python增加或删除权限的方法
Apr 24 Python
用Python写脚本,实现完全备份和增量备份的示例
Apr 29 Python
django的auth认证,authenticate和装饰器功能详解
Jul 25 Python
opencv导入头文件时报错#include的解决方法
Jul 31 Python
win10下python2和python3共存问题解决方法
Dec 23 Python
PyTorch中Tensor的数据统计示例
Feb 17 Python
Python换行与不换行的输出实例
Feb 19 Python
Python获取对象属性的几种方式小结
Mar 12 Python
使用tensorflow实现VGG网络,训练mnist数据集方式
May 26 Python
python playwrigh框架入门安装使用
Jul 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
PHP开发框架总结收藏
2008/04/24 PHP
利用中国天气预报接口实现简单天气预报
2014/01/20 PHP
让textarea控件的滚动条怎是位与最下方
2007/04/20 Javascript
我遇到的参数传递中 双引号单引号嵌套问题
2010/02/11 Javascript
使用jquery实现简单的ajax
2013/07/08 Javascript
解析微信JS-SDK配置授权,实现分享接口
2016/12/09 Javascript
JS中移除非数字最多保留一位小数
2018/05/09 Javascript
微信小程序API—获取定位的详解
2019/04/30 Javascript
浅谈VUE防抖与节流的最佳解决方案(函数式组件)
2019/05/22 Javascript
pageGroup.js实现分页功能
2019/07/27 Javascript
微信小程序保持session会话的方法
2020/03/20 Javascript
解决vue项目中出现Invalid Host header的问题
2020/11/17 Javascript
[02:52]DOTA2新手基础教程 米波
2014/01/21 DOTA
python列表操作之extend和append的区别实例分析
2015/07/28 Python
Python编程求解二叉树中和为某一值的路径代码示例
2018/01/04 Python
对numpy中布尔型数组的处理方法详解
2018/04/17 Python
用TensorFlow实现戴明回归算法的示例
2018/05/02 Python
详解pandas库pd.read_excel操作读取excel文件参数整理与实例
2019/02/17 Python
Python将json文件写入ES数据库的方法
2019/04/10 Python
python实现ip地址查询经纬度定位详解
2019/08/30 Python
使用Python将字符串转换为格式化的日期时间字符串
2019/09/01 Python
Python 解析pymysql模块操作数据库的方法
2020/02/18 Python
python 已知一个字符,在一个list中找出近似值或相似值实现模糊匹配
2020/02/29 Python
Python函数调用追踪实现代码
2020/11/27 Python
美国廉价机票预订网站:Cheapfaremart
2018/04/28 全球购物
消防先进事迹材料
2014/02/10 职场文书
二年级评语大全
2014/04/23 职场文书
董事长助理工作职责
2014/06/08 职场文书
2014党员民主评议个人总结
2014/09/10 职场文书
民政局副局长民主生活会个人对照检查材料
2014/09/19 职场文书
考试作弊检讨书范文
2015/01/27 职场文书
2016年教师节贺卡寄语
2015/12/04 职场文书
Jupyter Notebook内使用argparse报错的解决方案
2021/06/03 Python
详解Python为什么不用设计模式
2021/06/24 Python
利用 JavaScript 构建命令行应用
2021/11/17 Javascript
JavaScript选择器函数querySelector和querySelectorAll
2021/11/27 Javascript