python制作一个实时钟表

网友投稿 927 2022-05-28

@TOC

源代码

Python引入两个内置库turtle和datetime即可制作一个实时钟表,代码如下:

# 用turtle画时钟 # 以自定义shape的方式实现 import turtle as t import datetime as d def 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) # 注册为一个shape def drawPoint(): # 画指针 global hourPoint, minPoint, secPoint, fontWriter makePoint("hourPoint", 100) makePoint("minPoint", 120) makePoint("secPoint", 140) hourPoint = t.Pen() # 每个指针是一只新turtle hourPoint.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.year curr_month = curr.month curr_day = curr.day curr_hour = curr.hour curr_minute = curr.minute curr_second = curr.second curr_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():显示实时时间

python制作一个实时钟表

main():主函数

运行效果如下:

打包exe

也可打包为exe,这样在没有编译环境的情况下也可以运行(发给你的小伙伴展示一下你的技术,岂不美哉)

效果如下(不会打包看我的博客pyinstaller打包exe详细教程)

这里就不做演示了,直接上效果图

以上就是利用turtle库和datetime库制作实时钟表,如果觉得有帮助的话,三连支持一下,欢迎各位博主来访~

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:cartographer近期调试总结
下一篇:【云图说】第104期 2019,云硬盘EVS与您携手并进,砥砺前行!
相关文章