【附源码】Python小练习——桌面计时器

系列文章

Python 学习之桌面计时器



前言

有些同学想要专注学习一段时间,但是又不想花钱去买一个学习计时器,碰巧手机没电了,又想知道自己学了多久,那就跟随作者的步伐,写一款属于自己的电脑桌面计时器吧。


一、需求分析

编写一款可独立运行的桌面计时器


二、代码详情

1.库的定义

代码如下(示例):
这个程序使用了time库和tkinter库。

import time
import tkinter as tk

2.定义计时器类

代码如下(示例):
1、首先,我们定义了一个计时器类,包括计时器的主窗口、时间标签、开始时间和运行状态。
2、然后,我们在主窗口中绑定鼠标左键点击事件,开始计时或退出程序。在开始计时时,我们记录开始时间,并更新时间标签。在更新时间标签时,我们计算已运行时间,并更新时间标签。
3、最后,我们使用tk.after()函数每秒更新时间标签。

# 定义计时器类
class Timer:
    def __init__(self, master):
        self.master = master
        self.master.title("Timer")
        self.master.geometry("300x200")
        self.master.attributes("-topmost", True)
        self.master.bind("<Button-1>", self.on_click)
        self.time_label = tk.Label(self.master, font=("Arial", 30))
        self.time_label.pack(pady=50)
        self.start_time = 0
        self.running = False

    def on_click(self, event):
        if not self.running:
            self.start_time = time.time()
            self.running = True
            self.update_time()

    def update_time(self):
        if self.running:
            elapsed_time = time.time() - self.start_time
            mins, secs = divmod(elapsed_time, 60)
            self.time_label.config(text="{:02d}:{:02d}".format(int(mins), int(secs)))
            self.master.after(1000, self.update_time)

3.运行计时器程序

代码如下(示例):
这个程序使用了time库和tkinter库。

# 运行计时器程序
if __name__ == "__main__":
    root = tk.Tk()
    timer = Timer(root)
    root.mainloop()

三、完整源代码

import time
import tkinter as tk

# 定义计时器类
class Timer:
    def __init__(self, master):
        self.master = master
        self.master.title("Timer")
        self.master.geometry("300x200")
        self.master.attributes("-topmost", True)
        self.master.bind("<Button-1>", self.on_click)
        self.time_label = tk.Label(self.master, font=("Arial", 30))
        self.time_label.pack(pady=50)
        self.start_time = 0
        self.running = False

    def on_click(self, event):
        if not self.running:
            self.start_time = time.time()
            self.running = True
            self.update_time()

    def update_time(self):
        if self.running:
            elapsed_time = time.time() - self.start_time
            mins, secs = divmod(elapsed_time, 60)
            self.time_label.config(text="{:02d}:{:02d}".format(int(mins), int(secs)))
            self.master.after(1000, self.update_time)

# 运行计时器程序
if __name__ == "__main__":
    root = tk.Tk()
    timer = Timer(root)
    root.mainloop()

总结

以上就是今天要讲的内容,本文简单编写了一个桌面计时器,各位看官如果觉得不错,还请留下你们的赞与收藏,谢谢您的观看

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

爱吃饭团的饭桶

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值