用python画精致表盘并显示时间,并且每一秒更新一次
时间: 2023-08-20 15:07:22 浏览: 56
你可以使用 Python 的 turtle 模块来画一个简单的表盘,然后使用 datetime 模块获取当前时间,并在表盘上显示时间。以下是一个示例代码:
```python
import turtle
import datetime
# 设置画笔和窗口大小
turtle.setup(width=600, height=600)
turtle.penup()
turtle.setposition(0, -250)
turtle.pendown()
# 画表盘
turtle.speed(0)
turtle.color('black')
turtle.pensize(5)
turtle.circle(250)
turtle.penup()
turtle.setposition(0, 0)
turtle.pendown()
for i in range(12):
turtle.penup()
turtle.circle(200, 30)
turtle.pendown()
turtle.write(i+1, align="center", font=("Arial", 12, "normal"))
# 更新时间
turtle.hideturtle()
while True:
turtle.penup()
turtle.setposition(0, 50)
turtle.pendown()
turtle.color('red')
turtle.pensize(2)
turtle.setheading(90)
now = datetime.datetime.now()
hour = now.hour % 12
minute = now.minute
second = now.second
turtle.right(hour * 30 + minute * 0.5)
turtle.forward(100)
turtle.penup()
turtle.setposition(0, 50)
turtle.pendown()
turtle.color('black')
turtle.pensize(2)
turtle.setheading(90)
turtle.right(minute * 6)
turtle.forward(150)
turtle.penup()
turtle.setposition(0, 50)
turtle.pendown()
turtle.color('green')
turtle.pensize(1)
turtle.setheading(90)
turtle.right(second * 6)
turtle.forward(180)
turtle.penup()
turtle.setposition(0, 0)
turtle.pendown()
turtle.write(now.strftime("%H:%M:%S"), align="center", font=("Arial", 16, "bold"))
turtle.penup()
turtle.clear()
turtle.update()
turtle.speed(0)
turtle.home()
turtle.clear()
turtle.update()
turtle.reset()
turtle.update()
turtle.bgcolor("white")
turtle.update()
turtle.setheading(90)
turtle.update()
```
这个程序会在窗口中画出一个表盘,并且在表盘上显示当前的时间。每秒钟更新一次,秒针为绿色,分针为黑色,时针为红色。你可以通过按下 Ctrl+C 来停止程序的运行。