代码如下:
# -*- 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()
直接运行即可使用