Python+Tkinter绘制一个数字时钟

Tkinter 实现上述功能并不复杂,只要使用 Tkinter 的相关组件和一些简单的逻辑处理即可,在编写这个案例的过程中大家要做到温故而知新。
【Python+Tkinter绘制一个数字时钟】程序代码如下所示:

from tkinter import *from time import strftimeroot = Tk()root.geometry('500x350+300+300')root.iconbitmap('C:/Users/Administrator/Desktop/C语言中文网logo.ico')root.title("C语言中文网出品")# 设置文本标签lb = Label(root, font=("微软雅黑", 50, "bold"), bg='#87CEEB', fg="#B452CD")lb.pack(anchor="center", fill="both", expand=1)# 定义一个mode标志mode = 'time'# 定义显示时间的函数def showtime():if mode == 'time':#时间格式化处理string = strftime("%H:%M:%S %p")else:string = strftime("%Y-%m-%d")lb.config(text=string)# 每隔 1秒钟执行time函数lb.after(1000, showtime)# 定义鼠标处理事件,点击时间切换为日期样式显示def mouseClick(event):global modeif mode == 'time':# 点击切换mode样式为日期样式mode = 'date'else:mode = 'time'lb.bind("

程序运行结果如下:
Python+Tkinter绘制一个数字时钟
文章图片

图1:简单的数字时钟
通过上述代码就实现了一个简单的数字时钟,是不是非常的简单。
补充
除了数字时钟,Tkinter还能绘制一个简易的钟表
具体实现代码如下:
# coding:utf-8from tkinter import *import math,timedef 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()

效果如下
Python+Tkinter绘制一个数字时钟
文章图片

到此这篇关于Python+Tkinter绘制一个数字时钟的文章就介绍到这了,更多相关Python Tkinter数字时钟内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

    推荐阅读