本文实例为大家分享了python使用tkinter实现小时钟效果的具体代码,供大家参考,具体内容如下
自己又调试了一下,分享一下
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
|
# 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() |
效果
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持服务器之家。
原文链接:https://blog.csdn.net/chaodaibing/article/details/108362376