Я использовал код и внес очень небольшие изменения в таймер в python, который запускается нажатием кнопки. Что происходит, так это то, что при первом нажатии таймер отлично работает. после этого каждое нажатие кнопки приводит к ускорению таймера. после 2 нажатий каждая секунда считается как 2 и т. д.
Я не смог найти, в чем проблема. Я предполагаю, что это происходит после того, как я использую таймер, но я не уверен.
button = Button(self, text="Pulse", command=self.pulsePressed)
self.t3=threading.Thread(target=self.ResetAndStart())
self.t3.daemon = False
self.t3.start()
def reset_timer(self):
global count
count=1
self.t.set('00:00:00')
def start(self):
global count
count=0
self.start_timer()
def start_timer(self):
global count
self.timer()
def stop(self):
global count
count=1
def ResetAndStart(self) :
global pressed
if(pressed==True):
self.stop()
self.reset_timer()
self.start()
def pulsePressed(self):
global pressed
pressed=True
self.ResetAndStart()
def timer(self):
global count
if(count==0):
self.d = str(self.t.get())
h,m,s = map(int,self.d.split(":"))
h = int(h)
m=int(m)
s= int(s)
if(s<59):
s+=1
elif(s==59):
s=0
if(m<59):
m+=1
elif(m==59):
h+=1
if(h<10):
h = str(0)+str(h)
else:
h= str(h)
if(m<10):
m = str(0)+str(m)
else:
m = str(m)
if(s<10):
s=str(0)+str(s)
else:
s=str(s)
self.d=h+":"+m+":"+s
self.t.set(self.d)
if(count==0):
self.after(930,self.start_timer)