我正在制作一个秒表程序。如果计时器已经在运行,我无法让开始按钮不起作用。
当我搜索时,我看到相同的14年前的代码。我很难相信在过去的14年中所有这些人都独立地得出了相同的解决方案。
作为一个初学者,我真的很想知道我写的有什么问题,而不是复制/粘贴并继续。
当我搜索时,我看到相同的14年前的代码。我很难相信在过去的14年中所有这些人都独立地得出了相同的解决方案。
作为一个初学者,我真的很想知道我写的有什么问题,而不是复制/粘贴并继续。
from tkinter import *
import time
import datetime
class Window(Frame):
def __init__(self, master = None):
Frame.__init__(self, master)
self.master = master
self.init_window()
def init_window(self):
self.master.title('Stopwatch')
self.pack(fill=BOTH, expand=1)
quit_button = Button(self, text = 'Quit', command = self.client_exit)
quit_button.config(width = 9)
quit_button.place(x=230)
start_button = Button(self, text = 'Start', command = self.timer_start)
start_button.config(width= 10)
start_button.place(x=0, y=0)
stop_button = Button(self, text = 'Stop', command = self.timer_stop)
stop_button.config(width = 10)
stop_button.place(x=80)
reset_button = Button(self, text = 'Reset', command = self.timer_reset)
reset_button.config(width = 10)
reset_button.place(x=160)
self.is_timer_running = False
def client_exit(self):
exit()
def timer_start(self):
global sec1
sec1 = time.time()
if self.is_timer_running == False:
self.is_timer_running = True
def tick():
if self.is_timer_running == True:
sec = time.time()
sec = datetime.timedelta(seconds = sec - sec1)
clock['text'] = sec
clock.after(100, tick)
tick()
def timer_stop(self):
stop_time = time.time()
if self.is_timer_running == True:
self.is_timer_running = False
def tick_stop():
stop = datetime.timedelta(seconds = stop_time - sec1)
clock['text'] = stop
tick_stop()
def timer_reset(self):
self.is_timer_running = False
clock['text'] = '00:00:00'