Python—使用tkinter制作一个小时钟

网上搬运的,自己又调试了一下,分享一下

# coding:utf-8
from tkinter import *
import math,time
def points():
  for i in range(1,13):
    x = 200 + 130*math.sin(2*math.pi*i/12)
    y = 200 - 130*math.cos(2*math.pi*i/12)
    canvas.create_text(x,y,text=i)

def createline(radius,line_width,rad):
  global List
  global i
  List = []
  x = 200+radius*math.sin(rad)
  y = 200-radius*math.cos(rad)
  i=canvas.create_line(200,200,x,y,width=line_width)
  List.append(i)

root = Tk()
root.resizable(0,0)
canvas = Canvas(root,width=400,height=500,bd=0,highlightthickness=0)
canvas.pack()
canvas.create_oval(50,50,350,350)
points()

while 1:
  tm=time.localtime()
  t=time.asctime(tm)
  t_hour=0
  if tm.tm_hour<=12:
    t_hour=tm_hour
  else:
    t_hour=tm.tm_hour-12
  rad1=2*math.pi*(t_hour+tm.tm_min/60)/12
  rad2=2*math.pi*(tm.tm_min+tm.tm_sec/60)/60
  rad3=2*math.pi*tm.tm_sec/60
  createline(50,6,rad1,)
  createline(90,3,rad2)
  createline(120,1,rad3)
  l=canvas.create_text(170,450,text=t)
  root.update()
  time.sleep(1)
  for item in List:
    canvas.delete(item)
    canvas.delete(l)

root.update()
mainloop()

效果
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值