用Python写一个简单的计时器

代码如下:

# -*- coding: utf-8 -*-

import time
import tkinter as tk

class Timer:
    def __init__(self, master):
        self.master = master
        master.title("计时器")

    self.current_time_label = tk.Label(master, text="当前时间")
    self.current_time_label.grid(row=0, column=0)
    self.current_time_value = tk.Label(master, text="")
    self.current_time_value.grid(row=0, column=1)
    self.update_current_time()

    self.timer_label = tk.Label(master, text="计时")
    self.timer_label.grid(row=1, column=0)
    self.timer_value = tk.Label(master, text="0:00:00")
    self.timer_value.grid(row=1, column=1)

    self.start_button = tk.Button(master, text="开始", command=self.start_timer)
    self.start_button.grid(row=2, column=0)
    self.stop_button = tk.Button(master, text="停止", command=self.stop_timer)
    self.stop_button.grid(row=2, column=1)
    self.reset_button = tk.Button(master, text="重置", command=self.reset_timer)
    self.reset_button.grid(row=2, column=2)

    self.start_time = None
    self.elapsed_time = 0
    self.is_running = False
    self.update_timer()

def update_current_time(self):
    current_time = time.strftime("%H:%M:%S")
    self.current_time_value.configure(text=current_time)
    self.master.after(1000, self.update_current_time)

def update_timer(self):
    if self.is_running:
        self.elapsed_time = time.time() - self.start_time
        formatted_time = time.strftime('%H:%M:%S', time.gmtime(self.elapsed_time))
        self.timer_value.configure(text=formatted_time)
    self.master.after(10, self.update_timer)

def start_timer(self):
    if not self.is_running:
        self.is_running = True
        self.start_time = time.time()

def stop_timer(self):
    if self.is_running:
        self.is_running = False

def reset_timer(self):
    self.is_running = False
    self.elapsed_time = 0
    self.timer_value.configure(text="0:00:00")

root = tk.Tk()
timer = Timer(root)
root.mainloop()

直接运行即可使用

猜你喜欢

转载自blog.csdn.net/weixin_47450720/article/details/129989960
今日推荐