Python如何绘制数字时钟?Python怎么做数码时钟

在python之中可以通过Tkinter模块以及turtle模块来实现很多图像的绘制以及动态图像的制作,而最近有些小伙伴就想要知道python是如何做数码时钟的,本篇文章要来给大家介绍的内容就是python用Tkinter模块实现数码时钟制作详解 。

Python如何绘制数字时钟?Python怎么做数码时钟

文章插图
1.那么首先的话就是需要去导入Tkinter模块以及time模块,这两个模块的作用分别为创建窗口并生成组件,以及获取时间和处理时间差,示例如下:
from tkinter import *from time import strftime2.导入模块之后的第二步就是要去创建窗口并设置窗口尺寸了,因为数码时钟不需要太大的窗口去显示,所以窗口大小设置一个比较平均的值就可以了 。窗口生成之后还可以去设置一下小图标和标题,小图标需要用到icon格式,代码如下:
root = Tk()root.geometry('500x350+300+300')root.iconbitmap(' logo.ico')root.title("数码时钟")3.在有了窗口基础之后就要去创建组件来显示时间了,这里只要使用文本组件Label即可 。设置完成后将其给添加到窗口中间,然后还需要定义一个标签来切换时间和日期,示例如下:
lb = Label(root, font=("微软雅黑", 50, "bold"), bg='#87CEEB', fg="#B452CD")lb.pack(anchor="center", fill="both", expand=1)mode = 'time'4.那么第四步就是要去编写一个显示获取当前时间和日期的函数了,然后通过在这个函数之中使用文字标签每隔1秒就重新调用这个函数,这样就能够实现时间每秒增加的效果,示例如下所示:
def showtime():    if mode == 'time':        string = strftime("%H:%M:%S %p")    else:        string = strftime("%Y-%m-%d")    lb.config(text=string)lb.after(1000, showtime)5.在当前的窗口上默认显示的只有时分秒的时间而没有年月日的日期,在之前定义了一个切换时间日期的标签 。那么只需要用到文字组件的点击时间即可,示例如下:
def mouseClick(event):    global mode    if mode == 'time':        mode = 'date'    else:        mode = 'time'lb.bind("<Button>", mouseClick)【Python如何绘制数字时钟?Python怎么做数码时钟】最后要先调用获取时间的函数,然后用mainloop()方法开启窗体循环即可动态的显示数码时钟了 。

    推荐阅读