ChatDev/WareHouse/timer_THUNLP_20230823091709/main.py
2023-09-04 19:24:28 +08:00

47 lines
1.8 KiB
Python

'''
This file contains the main application logic and GUI setup.
'''
import tkinter as tk
from timer import Timer
class TimerApp(tk.Tk):
def __init__(self):
super().__init__()
self.title("Timer App")
self.timer = Timer()
self.time_var = tk.StringVar()
self.time_var.set("00:00:00")
self.format_var = tk.StringVar()
self.format_var.set("HH:MM:SS")
self.create_widgets()
def create_widgets(self):
self.time_label = tk.Label(self, textvariable=self.time_var, font=("Arial", 24))
self.time_label.pack(pady=10)
self.format_label = tk.Label(self, text="Time Format:")
self.format_label.pack()
self.format_entry = tk.Entry(self, textvariable=self.format_var)
self.format_entry.pack(pady=5)
self.start_button = tk.Button(self, text="Start", command=self.start_timer)
self.start_button.pack(side=tk.LEFT, padx=5)
self.stop_button = tk.Button(self, text="Stop", command=self.stop_timer)
self.stop_button.pack(side=tk.LEFT, padx=5)
self.reset_button = tk.Button(self, text="Reset", command=self.reset_timer)
self.reset_button.pack(side=tk.LEFT, padx=5)
def start_timer(self):
self.timer.start()
self.update_time()
def stop_timer(self):
self.timer.stop()
def reset_timer(self):
self.timer.reset()
self.update_time()
def update_time(self):
if self.timer.is_running():
try:
time = self.timer.get_time(self.format_var.get())
self.time_var.set(time)
except ValueError:
self.time_var.set("Invalid time format")
self.after(100, self.update_time)
if __name__ == "__main__":
app = TimerApp()
app.mainloop()