用python画时钟,python制作数码时钟
这篇文章主要介绍了如何利用计算机编程语言和Pygame库绘制一个简单的时钟效果。文中的示例代码讲解详细,对我们学习计算机编程语言有一定帮助,需要的可以参考一下
目录
导入需要的包设置变量写数字绘制时针完整代码
导入需要的包设置变量
从日期时间导入日期时间
从pygame.locals导入*
导入系统、数学、智力游戏
def print_text(font,x,y,text,color=(255,255,255)):
img_text=font.render(文本,真,颜色)
screen.blit(img_text,(x,y))
定义包裹角度(角度):
返回角度% 360度
pygame.init()
屏幕=py游戏。展示。set _ mode((600,500))
pygame.display.set_caption(在线时钟)
# 设置字体
font1=pygame.font.SysFont(方正粗黑宋简体, 24)
橙色=220,180,0
白色=255,255,255
黄色=255,255,0
粉色=255,100,100
pos_x=300
pos_y=250
半径=250
角度=360
这里绘制一个600*500的屏幕,设置圆心位置及其半径。根据时间的不同,计算弧度,通过三角函数计算出对应的坐标,从圆心的位置绘制出时针的线条。
写数字
通过循环一到12,将数字写在对应的位置上,-10 和对应的字体微调使其更加对正
对于(1,13):范围内的n
角度=数学弧度(n * (360/12) - 90)
x=math.cos(角度)*(半径- 20) - 10
y=math.sin(角度)*(半径- 20) - 10
print_text(font1,pos_x x,pos_y y,str(n))
绘制时针
这里通过时间计算出对应的角度,然后从圆心到指定位置画时针。
小时角度=环绕角度(小时* (360/12) - 90)环绕角度(分钟* (360/60) - 90)/60
小时角度=数学。弧度(小时角度)
hour_x=math.cos(hour_angle) *(半径- 80)
hour_y=math.sin(hour_angle) *(半径- 80)
目标=(位置x小时x,位置y小时y)
pygame.draw.line(屏幕,粉红色,(位置x,位置y),目标,25)
完整代码
从日期时间导入日期时间
从pygame.locals导入*
导入系统、数学、智力游戏
def print_text(font,x,y,text,color=(255,255,255)):
img_text=font.render(文本,真,颜色)
screen.blit(img_text,(x,y))
定义包裹角度(角度):
返回角度% 360度
pygame.init()
屏幕=py游戏。展示。set _ mode((600,500))
pygame.display.set_caption(在线时钟)
# 设置字体
font1=pygame.font.SysFont(方正粗黑宋简体, 24)
橙色=220,180,0
白色=255,255,255
黄色=255,255,0
粉色=255,100,100
pos_x=300
pos_y=250
半径=250
角度=360
而True:
用于pygame.event.get():中的事件
if event.type==QUIT:
pygame.quit()
sys.exit()
keys=pygame.key.get_pressed()
如果键[K_ESCAPE]:
pygame.quit()
sys.exit()
screen.fill((154,205,255))
pygame.draw.circle(屏幕,白色,(位置x,位置y),半径,6)
对于(1,13):范围内的n
角度=数学弧度(n * (360/12) - 90)
x=math.cos(角度)*(半径- 20) - 10
y=math.sin(角度)*(半径- 20) - 10
print_text(font1,pos_x x,pos_y y,str(n))
今天=datetime.today()
小时=今天。小时% 12
分钟=今天。分钟
秒=今天。秒
小时角度=环绕角度(小时* (360/12) - 90)环绕角度(分钟* (360/60) - 90)/60
小时角度=数学。弧度(小时角度)
hour_x=math.cos(hour_angle) *(半径- 80)
hour_y=math.sin(hour_angle) *(半径- 80)
目标=(位置x小时x,位置y小时y)
pygame.draw.line(屏幕,粉红色,(位置x,位置y),目标,25)
最小角度=包角(分钟* (360/60) - 90)
最小角度=数学弧度(最小角度)
min_x=math.cos(最小角度)*(半径- 60)
min_y=math.sin(min_angle) *(半径- 60)
目标=(位置x最小x,位置y最小y)
pygame.draw.line(屏幕,橙色,(位置x,位置y),目标,12)
sec_angle=wrap_angle(秒* (360/60) - 90)
sec _ angle=math。弧度(秒角度)
sec_x=math.cos(sec_angle) *(半径- 40)
sec_y=math.sin(sec_angle) *(半径- 40)
目标=(位置x秒x,位置y秒y)
pygame.draw.line(屏幕,黄色,(位置x,位置y),目标,6)
pygame.draw.circle(屏幕,白色,(位置x,位置y),20)
print_text(font1,0,0,str(小时) : 字符串(分) : 字符串(秒))
pygame.display.update()
以上就是计算机编程语言绘制时钟的示例代码的详细内容,更多关于计算机编程语言绘制时钟的资料请关注盛行信息技术软件开发工作室其它相关文章!
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。