python用turtle库制作实时钟表(可打包exe)
实时钟表
- 源代码
- 打包exe
源代码
python引入两个内置库turtle和datetime即可制作一个实时钟表,代码如下:
# 用turtle画时钟
# 以自定义shape的方式实现
import turtle as t
import datetime as ddef skip(step): # 抬笔,跳到一个地方t.penup()t.forward(step)t.pendown()def drawClock(radius): # 画表盘t.speed(0)t.mode("logo") # 以Logo坐标、角度方式t.hideturtle()t.pensize(7)t.home() # 回到圆点for j in range(60):skip(radius)if (j % 5 == 0):t.forward(20)skip(-radius - 20)else:t.dot(5)skip(-radius)t.right(6)def makePoint(pointName, len): # 钟的指针,时针、分针、秒针t.penup()t.home()t.begin_poly()t.back(0.1 * len)t.forward(len * 1.1)t.end_poly()poly = t.get_poly()t.register_shape(pointName, poly) # 注册为一个shapedef drawPoint(): # 画指针global hourPoint, minPoint, secPoint, fontWritermakePoint("hourPoint", 100)makePoint("minPoint", 120)makePoint("secPoint", 140)hourPoint = t.Pen() # 每个指针是一只新turtlehourPoint.shape("hourPoint")hourPoint.shapesize(1, 1, 6)minPoint = t.Pen()minPoint.shape("minPoint")minPoint.shapesize(1, 1, 4)secPoint = t.Pen()secPoint.shape("secPoint")secPoint.pencolor('red')fontWriter = t.Pen()fontWriter.pencolor('gray')fontWriter.hideturtle()def getWeek(weekday):weekName = ['星期一', '星期二', '星期三', '星期四', '星期五', '星期六', '星期日']return weekName[weekday]def getDate(year, month, day):return "%s-%s-%s" % (year, month, day)def getRealtime():curr = d.datetime.now()curr_year = curr.yearcurr_month = curr.monthcurr_day = curr.daycurr_hour = curr.hourcurr_minute = curr.minutecurr_second = curr.secondcurr_weekday = curr.weekday()t.tracer(False)secPoint.setheading(360 / 60 * curr_second)minPoint.setheading(360 / 60 * curr_minute)hourPoint.setheading(360 / 12 * curr_hour + 30 / 60 * curr_minute)fontWriter.clear()fontWriter.home()fontWriter.penup()fontWriter.forward(80)# 用turtle写文字fontWriter.write(getWeek(curr_weekday), align="center", font=("Courier", 14, "bold"))fontWriter.forward(-160)fontWriter.write(getDate(curr_year, curr_month, curr_day), align="center", font=("Courier", 14, "bold"))t.tracer(True)print(curr_second)t.ontimer(getRealtime, 1000) # 每隔1000毫秒调用一次realTime()def main():t.tracer(False)drawClock(160)drawPoint()getRealtime()t.tracer(True)t.mainloop()if __name__ == '__main__':main()
引用模块:turtle,datetime
定义函数:
skip():重复指定动作
drawClock():画表盘
drawPoint():画指针
getWeek():显示星期
getDate():显示日期
getRealtime():显示实时时间
main():主函数
运行效果如下:
打包exe
也可打包为exe,这样在没有编译环境的情况下也可以运行(发给你的小伙伴展示一下你的技术,岂不美哉)
效果如下(不会打包看这篇博客pyinstaller打包exe详细教程)
这里就不做演示了,直接上效果图
以上就是利用turtle库和datetime库制作实时钟表,如果觉得有帮助的话,三连支持一下,欢迎各位博主来访~
CSDN社区 《博客新星》活动,官方大力扶持新人创作,只要参与其中并发布原创就有机会获得官方奖品:精品日历、新程序员杂志、CSDN帆布包、CSDN定制款手机壳,快来参与吧!链接直达 https://bbs.csdn.net/topics/605597781
python用turtle库制作实时钟表(可打包exe)相关推荐
- 利用python的turtle库画一个图形
今天我们用python的turtle库制作一个简单的图形(新手必看) [注:turtle是python的标准自带库,无需安装!] 好的废话不多说我们开始写代码 #制作人:中将 #一起自学python ...
- 《Turtle绘图》Python用Turtle库绘制圣诞树、圣诞节考研祝福礼物
Python用Turtle库绘制圣诞树.圣诞节考研祝福礼物 当圣诞节遇上考研.遇上海龟绘图,于是有了本文的内容.圣诞节是固定的12月25日,而考研是12月底的某个周末.能不能用Python制作一个祝福 ...
- python画笑脸-python 利用turtle库绘制笑脸和哭脸的例子
我就废话不多说了,直接上代码吧! import turtle turtle.pensize(5) turtle.pencolor("yellow") turtle.fillcolo ...
- python turtle画熊-Python使用turtle库绘制小猪佩奇(实例代码)
turtle(海龟)是Python重要的标准库之一,它能够进行基本的图形绘制.turtle图形绘制的概念诞生于1969年,成功应用于LOGO编程语言. turtle库绘制图形有一个基本框架:一个小海龟 ...
- 用python画玫瑰花代码-Python | 用turtle库画玫瑰花
python.turtle库 2019年02月28日 11:46:16 展示效果如下: 肉丝 代码如下: from turtle import * import time setup(600, 800 ...
- 用python画玫瑰花教程-利用Python的turtle库绘制玫瑰教程
用Python的turtle库绘图是很简单的,闲来无事就画了一个玫瑰花,下面奉上源码.... 源码: ''' Created on Nov 18, 2017 @author: QiZhao ''' i ...
- python turtle画彩虹-Python利用turtle库绘制彩虹代码示例_天津SEO
天津SEO RGB模型:光的三原色,共同决定色相 HSB/HSV模型:H色彩,S深浅,B饱和度,H决定色相 需要将HSB模型转换为RGB模型 代码示例: #-*- coding:utf-8 –*- f ...
- python画图代码彩虹-Python利用turtle库绘制彩虹代码示例
语言:Python IDE:Python.IDE 需求 做出彩虹效果 颜色空间 RGB模型:光的三原色,共同决定色相 HSB/HSV模型:H色彩,S深浅,B饱和度,H决定色相 需要将HSB模型转换为R ...
- python棋盘格_干货必看 | Python的turtle库之经典棋盘格
国际棋盘格是一个由9横9纵的线组成的格子正方形,用Python的turtle库进行绘制的时候,先做9横9纵的线,再填上灰色小正方形,这就可以完成一个棋盘格了,下面是具体的操作步骤. (一)整体代码 1 ...
最新文章
- 捅破窗户纸:如何从过程到对象—For金色的海洋以及所有为面向对象而困惑的Tx...
- [ASP.NET] Session的了解
- MATLAB 结构型变量
- 一款基于RxJava2+Retrofit2实现简单易用的网络请求框架
- [云炬创业基础笔记]第四章测试23
- BugkuCTF-Misc:猫片(安恒)
- [读书笔记] 深入探索Android热修复技术原理 (手淘技术团队)
- y7000 intel nvidia 双显卡安装Ubuntu16.04
- iview中嵌套使用tabs注意事项
- [转载]Visual Studio 2010敏捷利剑:详解Scrum
- linux中touch命令的作用,Linux中touch命令的作用是什么
- qt 实现拖动矩形角度_PPT技巧应用—利用PPT的遮罩效果来实现文字的炫彩变化
- 阿里云虚拟主机针对恶意频繁攻击式访问造成CPU爆满的解决方法
- 上海市申请享受生育保险待遇的程序
- opencv答题卡识别
- 字节跳动前端实习面经
- CPU飙高系统反应慢怎么排查?
- 离婚协议中的几个重点
- PHP屏蔽错误警告提示
- th:if th:else