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字符串替换的2种方法
Nov 30 Python
python获取标准北京时间的方法
Mar 24 Python
详解Python的Django框架中的通用视图
May 04 Python
Python中序列的修改、散列与切片详解
Aug 27 Python
在Pycharm中修改文件默认打开方式的方法
Jan 17 Python
Pytorch 中retain_graph的用法详解
Jan 07 Python
Python通过VGG16模型实现图像风格转换操作详解
Jan 16 Python
Python常用库大全及简要说明
Jan 17 Python
如何使用python代码操作git代码
Feb 29 Python
Python 窗体(tkinter)下拉列表框(Combobox)实例
Mar 04 Python
K近邻法(KNN)相关知识总结以及如何用python实现
Jan 28 Python
Python xlwings插入Excel图片的实现方法
Feb 26 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
Laravel模板引擎Blade中section的一些标签的区别介绍
2015/02/10 PHP
php实现获取文件mime类型的方法
2015/02/11 PHP
使用PHPExcel操作Excel用法实例分析
2015/03/26 PHP
基于php实现七牛抓取远程图片
2015/12/01 PHP
ThinkPHP3.2.2实现持久登录(记住我)功能的方法
2016/05/16 PHP
php使用高斯算法实现图片的模糊处理功能示例
2016/11/11 PHP
小程序微信支付功能配置方法示例详解【基于thinkPHP】
2019/05/05 PHP
Laravel 实现Controller向blade前台模板赋值的四种方式小结
2019/10/22 PHP
JAVASCRIPT IE 与 FF中兼容问题小结
2009/02/18 Javascript
jquery移动listbox的值原理及代码
2013/05/03 Javascript
IE8的JavaScript点击事件(onclick)不兼容的解决方法
2013/11/22 Javascript
JQuery弹出层示例可自定义
2014/05/19 Javascript
完美实现八种js焦点轮播图(上篇)
2016/07/18 Javascript
jQuery中JSONP的两种实现方式详解
2016/09/26 Javascript
Jquery删除css属性的简单方法
2016/12/04 Javascript
node.js程序作为服务并在windows下开机自启动(用forever)
2017/03/29 Javascript
很棒的vue弹窗组件
2017/05/24 Javascript
vue.js+Echarts开发图表放大缩小功能实例
2017/06/09 Javascript
jQuery实现火车票买票城市选择切换功能
2017/09/15 jQuery
微信小程序云开发实现数据添加、查询和分页
2019/05/17 Javascript
Vue 3.0 前瞻Vue Function API新特性体验
2019/08/12 Javascript
JS实现骰子3D旋转效果
2019/10/24 Javascript
JS localStorage存储对象,sessionStorage存储数组对象操作示例
2020/02/15 Javascript
Python中的lstrip()方法使用简介
2015/05/19 Python
Python使用ntplib库同步校准当地时间的方法
2016/07/02 Python
使用pyecharts在jupyter notebook上绘图
2020/04/23 Python
Python科学画图代码分享
2017/11/29 Python
python如何统计序列中元素
2020/07/31 Python
解决Python下json.loads()中文字符出错的问题
2018/12/19 Python
Python控制台实现交互式环境执行
2020/06/09 Python
屈臣氏菲律宾官网:Watsons菲律宾
2020/06/30 全球购物
销售工作岗位职责
2013/12/24 职场文书
庆元旦文艺演出主持词
2014/03/27 职场文书
个人收入证明范本
2015/06/12 职场文书
秋季运动会加油词
2015/07/18 职场文书
标会主持词应该怎么写?
2019/08/15 职场文书