gpt4 book ai didi

python - 如何在python上画一个时钟?(没有时针或分针的,只是一张图)

转载 作者:行者123 更新时间:2023-12-04 09:34:30 26 4
gpt4 key购买 nike

我试图用 python 3 turtle 创建钟面的图片,但数字没有正确对齐。一点帮助?谢谢!这是我到目前为止:

import turtle

screen=turtle.Screen()
screen.bgcolor(135, 205, 250)

clock = turtle.Turtle()
clock.shape("square")

clock.speed(0)

hours = 6
minutes = 30

angle = 12

for i in range(angle):
# draw the leg
clock.forward(65)
clock.right(30)
clock.write(i)

# go back to the middle and turn back around
clock.right(180)
clock.forward(65)
clock.right(180)
clock.write(i+1)

clock.shape("circle")
clock.forward(65)

screen.exitonclick()

最佳答案

您对 bgcolor(135, 205, 250) 的使用无需先调用 colormode(255)让我怀疑您使用的是非标准 (Repl) 或更旧版本的 Python turtle 。如果是这样,您应该说明这一点,以避免在所提供的答案中出现不兼容性。
下面是我如何解决这个问题。关键是要了解字体高度,以便您可以进行更正:

from turtle import Screen, Turtle

FONT_SIZE = 12
FONT = ('Arial', FONT_SIZE, 'normal')

RADIUS = 65

screen = Screen()

clock = Turtle()
clock.shape('circle')
clock.speed('fastest')

for hour, angle in enumerate(range(60, -300, -30), start=1):
clock.setheading(angle)
position = clock.position()
clock.forward(RADIUS)
clock.penup()
clock.forward(FONT_SIZE)
clock.sety(clock.ycor() - 2 * FONT_SIZE/3)
clock.write(hour, align='center', font=FONT)
clock.setposition(position)
clock.pendown()

screen.mainloop()
enter image description here
但是,使用规定的字体大小是一个粗略的猜测,在某些系统上可能效果不佳。如果您是这种情况,那么您可以使用此答案中的基础 tkinter 函数调用获得准确的字体高度值 My text in my clock python is not aligning properly我假设您在发布您自己的问题之前在搜索 SO 时对其进行了审查。

关于python - 如何在python上画一个时钟?(没有时针或分针的,只是一张图),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62658861/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com