Python + Tkinter:简单倒计时GUI工具学习


更新记录

1、2019-10-12 创建文章
2、2019-10-14 修改时间显示问题
3、2021-01-20 修改框体每次打开均在左上角显示


一、前言

  • 本文主要为记一次Tkinter学习成果,实现简单倒计时GUI工具。
  • Tkinter 是 Python 的标准 GUI 库。Python 使用 Tkinter 可以快速的创建 GUI 应用程序。
  • 由于 Tkinter 是内置到 python 的安装包中、只要安装好 Python 之后就能 import Tkinter 库、而且 IDLE 也是用 Tkinter 编写而成、对于简单的图形界面 Tkinter 还是能应付自如。

二、代码实现

from tkinter import *
from datetime import datetime
from tkinter.messagebox import *


class TestTime(object):
    def __init__(self, master=None):
        self.root = master
        self.root.geometry('400x200')
        self.root.resizable(width=False, height=False)
        self.label_a = Label(self.root, text='当前本地时间为:\t\t')
        self.label_a.pack()
        self.label_b = Label(self.root, text="")
        self.label_b.pack()
        self.label_c = Label(self.root, text='\n距离中午吃饭还有:\t\t')
        self.label_c.pack()
        self.label_d = Label(self.root, text="")
        self.label_d.pack()
        self.label_e = Label(self.root, text='\n距离今天下班还有:\t\t')
        self.label_e.pack()
        self.label_f = Label(self.root, text="")
        self.label_f.pack()
        self.update_time()

    def update_time(self):
        self.update_a()
        self.update_b()
        self.update_c()

    def update_a(self):
        now = datetime.now().strftime('%Y-%m-%d %H:%M:%S')
        self.label_b.configure(text=now)
        self.root.after(1000, self.update_a)

    def update_b(self):
        # 获取当日日期,不包含时间,str
        now_day = datetime.now().strftime("%Y-%m-%d")
        # 字符串拼接,组成当日12点
        a = now_day + ' 12:00:00'
        new_time = datetime.strptime(a, "%Y-%m-%d %H:%M:%S")
        t = new_time - datetime.now()
        self.label_d.configure(text=t)
        self.root.after(1000, self.update_b)

    def update_c(self):
        # 获取当日日期,不包含时间,str
        now_day = datetime.now().strftime("%Y-%m-%d")
        # 字符串拼接,组成当日12点
        a = now_day + ' 18:00:00'
        new_time = datetime.strptime(a, "%Y-%m-%d %H:%M:%S")
        t = new_time - datetime.now()
        self.label_f.configure(text=t)
        self.root.after(1000, self.update_c)


if __name__ == '__main__':
    root = Tk()
    root.title('计时小界面')
    # 窗口置顶.
    root.wm_attributes('-topmost', 1)
    TestTime(root)
    root.mainloop()



三、界面展示

在这里插入图片描述

四、拓展:新增定时提醒

    def update_d(self
  • 8
    点赞
  • 32
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值