import tkinter as tk
import threading
import time

class Timer:
    def __init__(self):
        self.window = tk.Tk()
        self.window.title("计时器")
        self.window.geometry("320x200")
        self.window.resizable(False, False)

        self.time = 0
        self.run_flag = False

        # 时间显示
        self.show = tk.Label(self.window, text="00:00:00", font=("Arial", 40))
        self.show.pack(pady=20)

        # 按钮
        frame = tk.Frame(self.window)
        frame.pack()
        tk.Button(frame, text="开始", command=self.start, width=8).grid(row=0, column=0, padx=5)
        tk.Button(frame, text="暂停", command=self.pause, width=8).grid(row=0, column=1, padx=5)
        tk.Button(frame, text="重置", command=self.reset, width=8).grid(row=0, column=2, padx=5)

    def count(self):
        while self.run_flag:
            self.time += 1
            h = self.time // 3600
            m = (self.time % 3600) // 60
            s = self.time % 60
            self.show.config(text=f"{h:02d}:{m:02d}:{s:02d}")
            time.sleep(1)

    def start(self):
        if not self.run_flag:
            self.run_flag = True
            threading.Thread(target=self.count, daemon=True).start()

    def pause(self):
        self.run_flag = False

    def reset(self):
        self.run_flag = False
        self.time = 0
        self.show.config(text="00:00:00")

    def run(self):
        self.window.mainloop()

if __name__ == "__main__":
    app = Timer()
    app.run()