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多线程扫描端口示例
Jan 16 Python
python sort、sorted高级排序技巧
Nov 21 Python
Python3.X 线程中信号量的使用方法示例
Jul 24 Python
python机器学习案例教程——K最近邻算法的实现
Dec 28 Python
Python实现个人微信号自动监控告警的示例
Jul 03 Python
Python 的字典(Dict)是如何存储的
Jul 05 Python
PyQt 图解Qt Designer工具的使用方法
Aug 06 Python
Matlab中plot基本用法的具体使用
Jul 17 Python
Python如何创建装饰器时保留函数元信息
Aug 07 Python
详解python爬取弹幕与数据分析
Nov 14 Python
Django 用户认证Auth组件的使用
Nov 30 Python
详解Django自定义图片和文件上传路径(upload_to)的2种方式
Dec 01 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生成静态HTML文档的原理
2012/10/29 PHP
PHP Error与Logging函数的深入理解
2013/06/03 PHP
基于preg_match_all采集后数据处理的一点心得笔记(编码转换和正则匹配)
2014/01/31 PHP
PHP模拟登陆163邮箱发邮件及获取通讯录列表的方法
2015/03/07 PHP
PHP连接Nginx服务器并解析Nginx日志的方法
2015/08/16 PHP
PHP MySql增删改查的简单实例
2016/06/21 PHP
PHPCrawl爬虫库实现抓取酷狗歌单的方法示例
2017/12/21 PHP
让JavaScript 轻松支持函数重载 (Part 1 - 设计)
2009/08/04 Javascript
jQuery表格行换色的三种实现方法
2011/06/27 Javascript
js原型链原理看图说明
2012/07/07 Javascript
JavaScript与DOM组合动态创建表格实例
2012/12/23 Javascript
js禁止回车提交表单的示例代码
2013/12/23 Javascript
点击弹出层效果&弹出窗口后网页背景变暗效果的实现代码
2014/02/10 Javascript
基于JavaScript获取鼠标位置的各种方法
2015/12/16 Javascript
js console.log打印对像与数组用法详解
2016/01/21 Javascript
微信小程序 利用css实现遮罩效果实例详解
2017/01/21 Javascript
Bootstrap表单控件学习使用
2017/03/07 Javascript
15个顶级开源JavaScript框架和库
2018/10/10 Javascript
基于jquery ajax的多文件上传进度条过程解析
2019/09/11 jQuery
JQuery 实现文件下载的常用方法分析
2019/10/29 jQuery
JavaScript中继承原理与用法实例入门
2020/05/09 Javascript
JS实现前端动态分页码代码实例
2020/06/02 Javascript
使用eslint和githooks统一前端风格的技巧
2020/07/29 Javascript
Vue实现省市区三级联动
2020/12/27 Vue.js
python利用Guetzli批量压缩图片
2017/03/23 Python
python+opencv实现车牌定位功能(实例代码)
2019/12/24 Python
python shutil文件操作工具使用实例分析
2019/12/25 Python
Python多线程threading创建及使用方法解析
2020/06/17 Python
用python 绘制茎叶图和复合饼图
2021/02/26 Python
Clarks英国官方网站:全球领军鞋履品牌
2016/11/26 全球购物
如何写一份好的自荐信
2014/01/02 职场文书
酒店管理专业毕业生求职自荐信
2014/04/28 职场文书
前台接待岗位职责
2015/02/03 职场文书
2015年教研组工作总结
2015/05/04 职场文书
闪闪的红星观后感
2015/06/08 职场文书
Redis读写分离搭建的完整步骤
2021/09/14 Redis