首页 / PYTHON / python绘制动态时钟
python绘制动态时钟
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了python绘制动态时钟,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含3887字,纯文字阅读大概需要6分钟。
内容图文
![python绘制动态时钟](/upload/InfoBanner/zyjiaocheng/594/1a6a086b29624b82a09726ae212d36ca.jpg)
turtle库基本命令
1、turtle.setup()函数:用于启动一个图形窗口,它有四个参数turtle.setup(width, height, startx, starty)分别是:启动窗口的宽度和高度表示窗口启动时,窗口左上角在屏幕中的坐标位置。
2、turtle.pensize()函数:表示小乌龟运动轨迹的宽度。
3、turtle.pencolor()函数:表示小乌龟运动轨迹的颜色。它包含一个输入参数,这里我们把它设为蓝色,blue,其他颜色单词也可以使用。Turtle采用RGB方式来定义颜色,如果希望获得和图片中颜色一致的小蛇,请输入turtle.pencolor(“#3B9909”)
4、turtle.seth(angle)函数:表示小乌龟启动时运动的方向。它包含一个输入参数,是角度值。0表示向东,90度向北,180度向西,270度向南;负值表示相反方向。程序中,我们让小乌龟向-40度启动爬行,即:向东南方向40度。
5、turtle.circle()函数:让小乌龟沿着一个圆形爬行,参数rad描述圆形轨迹半径的位置,这个半径在小乌龟运行的左侧,rad远位置处。如果 rad为负值,则半径在小乌龟运行的右侧, 参数angle表示小乌龟沿着圆形爬行的弧度值。
6、turtle.fd()函数:表示乌龟向前直线爬行移动表示小乌龟向前直线爬行移动,它有一个参数表示爬行的距离
datetime模块函数
1.datetime.date:表示日期的类,返回year-month-day
2.datetime.datetime:表示日期时间的类,返回年月日,时分秒
3.datetime.time:表示时间的类,
4.datetime.timedelta:表示时间间隔,即两个时间点的间隔
5.datetime.tzinfo:时区的相关信息
程序代码
1from?turtle?import?*??
2from?datetime?import?*??
3
4def?Skip(step):??
5????penup()??
6????forward(step)??
7????pendown()??
8
9def?mkHand(name,?length):??
10????#注册Turtle形状,建立表针Turtle??
11????reset()??#清空当前窗口,并重置位置等信息为默认值??
12????Skip(-length*0.1)??
13????begin_poly()??
14????forward(length*1.1)??
15????end_poly()??
16????handForm?=?get_poly()??
17????register_shape(name,?handForm)???
18
19def?Init():??
20????global?secHand,?minHand,?hurHand,?printer??
21????mode("logo")#?重置Turtle指向北??
22????#建立三个表针Turtle并初始化??
23????mkHand("secHand",?135)??
24????mkHand("minHand",??110)??
25????mkHand("hurHand",?90)??
26????secHand?=?Turtle()??
27????secHand.shape("secHand")??
28????minHand?=?Turtle()??
29????minHand.shape("minHand")??
30????hurHand?=?Turtle()??
31????hurHand.shape("hurHand")??
32????for?hand?in?secHand,?minHand,?hurHand:??
33????????hand.shapesize(1,?1,?3)??
34????????hand.speed(0)??
35????#建立输出文字Turtle??
36????printer?=?Turtle()??
37????printer.hideturtle()??
38????printer.penup()??
39
40def?SetupClock(radius):??
41????#建立表的外框??
42????reset()??
43????pensize(7)??
44????for?i?in?range(60):??
45????????Skip(radius)??
46????????if?i?%?5?==?0:??
47????????????forward(20)??
48????????????Skip(-radius-20)??
49????????else:??
50????????????dot(5)??
51????????????Skip(-radius)??
52????????right(6)??
53
54def?Week(t):??????
55????week?=?["星期一",?"星期二",?"星期三",??
56????????????"星期四",?"星期五",?"星期六",?"星期日"]??
57????return?week[t.weekday()]??
58
59def?Date(t):??
60????y?=?t.year??
61????m?=?t.month??
62????d?=?t.day??
63????return?"%s?%d?%d"?%?(y,?m,?d)??
64
65def?Tick():??
66????#绘制表针的动态显示??
67????t?=?datetime.today()??
68????second?=?t.second?+?t.microsecond*0.000001??
69????minute?=?t.minute?+?second/60.0??
70????hour?=?t.hour?+?minute/60.0??
71????secHand.setheading(6*second)?#设置朝向,每秒转动6度??
72????minHand.setheading(6*minute)??
73????hurHand.setheading(30*hour)??
74
75????tracer(False)??#不显示绘制的过程,直接显示绘制结果??
76????printer.forward(50)??
77????printer.write(Week(t),?align="center",??
78??????????????????font=("Courier",?12,?"bold"))??
79????printer.forward(20)??
80????printer.write(Date(t),?align="center",??
81??????????????????font=("Courier",?14,?"bold"))??
82????printer.forward(120)??
83????printer.write("python练手项目实战",?align="center",??
84??????????????????font=("Courier",?14,?"bold"))??
85????printer.home()??
86????tracer(True)??
87
88????ontimer(Tick,?1000)#1000ms后继续调用tick??
89
90def?main():??
91????tracer(False)?#使多个绘制对象同时显示??
92????Init()??
93????SetupClock(160)??
94????tracer(True)??
95????Tick()??
96????mainloop()??
97
98if?__name__?==?"__main__":?????????
99????main()?
效果图
内容总结
以上是互联网集市为您收集整理的python绘制动态时钟全部内容,希望文章能够帮你解决python绘制动态时钟所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。