Time delay Tkinter Time delay Tkinter tkinter tkinter

Time delay Tkinter


time.sleep blocks the execution of the program.

Use after.

For example:

from Tkinter import *def blink():    e.config(bg='green')    e.after(1000, lambda: e.config(bg='white')) # after 1000msroot = Tk()e = Entry(root)e.pack()b = Button(root, text='blink', command=blink)b.pack()root.mainloop()


First of all, You should not use try/except blocks to manage your code. Second of all, you are using e.config and l.config to switch your colors, which one is it supposed to be? (You should consider better naming conventions for your variables and objects to reduce confusion).

You can check the type of object the user input and then have a better managed flow like so:

def sprawdzam():    content = e.get()    if content.isalnum():        e.config(bg = 'green')        else:        e.config(bg = 'red')    time.sleep(2)    e.config(bg = 'white')

Here I used e as the object to change colors on, but this might not be true for your code, you should make sure you are doing it with the right objects.

As you can see, the sleep and the switch to white is done outside the if/else because no matter what, you will wait then turn to white, no need to write that code twice.


       for P in range(len(MaxTrace)):           T = P + 1           if T < len(MaxTrace):               PrevPlate  , PrevDot   = MaxTrace[P][0], MaxTrace[P][1]                TargetPlate, TargetDot = MaxTrace[T][0], MaxTrace[T][1]               self.__window.update()               sleep(0.3)               #replace REGULAR token img to ACTIVE token img               GameCanvas.itemconfig(self.tokens[PrevPlate,PrevDot],image=self.DotImgActv[RivalColor])               self.__window.update()               sleep(0.2)               # mark Target vacation for move to by Yellow-RING img               self.tokens[TargetPlate, TargetDot]=GameCanvas.create_image(DotXY[TargetPlate,TargetDot],                                                                           image=self.DotVacantImg  )               self.__window.update()               sleep(0.4)               GameCanvas.delete(self.tokens[PrevPlate,PrevDot])               self.__window.update()               sleep(0.3)               GameCanvas.itemconfig(self.tokens[TargetPlate, TargetDot],image=self.DotImg[RivalColor])