zoukankan      html  css  js  c++  java
  • tkinter-clock实例

    模仿着前辈的脚步,画了个临时的时钟显示:

    代码如下:

     1 # coding:utf-8
     2 
     3 from tkinter import *
     4 
     5 import math,time
     6 
     7 global List
     8 global i
     9 root = Tk()
    10 List = []
    11 root.title("a simple clock")
    12 #设置窗口是否可以变化长/宽
    13 root.resizable(1, 1)
    14 def points():
    15     for i in range(1,13):
    16         x = 200 + 130*math.sin(2*math.pi*i/12)
    17 
    18         y = 200 - 130*math.cos(2*math.pi*i/12)
    19 
    20         canvas.create_text(x,y,text=i)
    21 def createline(radius,line_width,rad):
    22     x = 200 + radius * math.sin(rad)
    23 
    24     y = 200 - radius * math.cos(rad)
    25 
    26     i = canvas.create_line(200, 200, x, y, width=line_width)
    27 
    28     List.append(i)
    29 canvas = Canvas(root, width=400, height=500, bd=0, highlightthickness=0)
    30 canvas.pack()
    31 #生成外圆
    32 canvas.create_oval(50, 50, 350, 350)
    33 #生成数字
    34 points()
    35 
    36 while 1:
    37 
    38     tm=time.localtime()
    39 
    40     #cur_time=time.asctime(tm)
    41     cur_time2 = time.strftime('%Y-%m-%d %X', time.localtime())
    42 
    43     t_hour=0
    44 
    45     if tm.tm_hour<=12:
    46 
    47         t_hour=tm.tm_hour
    48 
    49     else:
    50 
    51         t_hour=tm.tm_hour-12
    52 
    53     rad1=2*math.pi*(t_hour+tm.tm_min/60)/12
    54 
    55     rad2=2*math.pi*(tm.tm_min+tm.tm_sec/60)/60
    56 
    57     rad3=2*math.pi*tm.tm_sec/60
    58 
    59     createline(50,6,rad1)
    60 
    61     createline(90,3,rad2)
    62 
    63     createline(120,1,rad3)
    64 
    65     time_text=canvas.create_text(200,450,text=cur_time2)
    66 
    67     root.update()
    68 
    69     time.sleep(1)
    70 
    71     for item in List:
    72         canvas.delete(item)
    73     canvas.delete(time_text)
    74 
    75     #root.update()
    76 
    77 mainloop()
    View Code

    仅供参考!

  • 相关阅读:
    修改linux的ssh默认端口号22的方法
    centos6 配置静态IP
    homebrew 无法安装提示不能在根目录下使用
    MySQL Replication 详解MySQL数据库设置主从同步的方法
    两台Mysql数据库数据同步实现
    MySql主从同步和延迟同步
    c#委托和事件
    C# Out和Ref区别
    MVC与三层架构
    经典数据库题
  • 原文地址:https://www.cnblogs.com/lq147760524/p/8302910.html
Copyright © 2011-2022 走看看