mirror of
https://github.com/OpenBMB/ChatDev.git
synced 2024-11-08 11:14:53 +03:00
47 lines
1.8 KiB
Python
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()
|