如何使用tkinter构建数字时钟

coolpython

共 1023字,需浏览 3分钟

 ·

2021-03-22 16:19

用tkinter创建一个数字时钟,最终效果图如下

点击界面时,切换到日期,还可以再切换回来 

看起来挺有趣的,开始规划吧

首先创建出窗口

from tkinter import *
from time import strftime

root = Tk()
root.title("python时钟")

在窗口上安放一个Lable控件,控件的背景色是黑色,字体为白色,填充整个窗口

# 界面有多大,完全是靠字体撑起来的, 背景是黑色, 字体是白色
lbl = Label(root, font=("arial", 100, "bold"), bg="black", fg="white")
lbl.pack(anchor="center", fill="both", expand=1)

接下来,需要考虑如何让时间动起来,Label有一个alter方法,可以指定在一定时间后,执行某个函数,可以在这个函数里修改Label上显示的内容。

还要考虑点击Label之后,从显示小时转变为显示日期,因此需要给Label绑定一个click事件

mode = 'hour'

def showtime():
if mode == 'hour':
string = strftime("%H:%M:%S %p")
else:
string = strftime("%Y-%m-%d")

lbl.config(text=string)
lbl.after(1000, showtime) # 1秒钟以后执行time函数


def mouse_click(event):
global mode
if mode == 'hour':
mode = 'day'
else:
mode = 'hour'


lbl.bind("<Button>", mouse_click)
showtime()

mainloop()

在mouse_click函数里,改变mode的值,showtime函数根据mode的值来决定显示什么内容,大功告成啦。


浏览 33
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报