Проблемы с таймером сброса - PullRequest
0 голосов
/ 03 августа 2020

Я использовал код и внес очень небольшие изменения в таймер в 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)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...