Aug-25-2020, 02:37 PM
Hi
i have a problem with a frame gathering an image that i update every 2s. It through me the error:
Thanks for your help
i have a problem with a frame gathering an image that i update every 2s. It through me the error:
invalid command name "3186233555656<lambda>" while executing "3186233555656<lambda>" ("after" script)My code is the following:
class MainCanvas(tk.Frame): def __init__(self,container,directory,...): ... self.directory=directory self.container=container self.canvas = tk.Canvas(self.container) img=Image.open(self.directory) self.photo=ImageTk.PhotoImage(img.resize(self.resolution, Image.ANTIALIAS)) self.canvas.image=self.photo self.imageCreated = self.canvas.create_image(0, 0, anchor=NW, image=self.photo) self.canvas.grid(...) def change_image(self,list_directory,index): directory=list_directory[index] img=Image.open(directory) if index==2: nextindex=0 else: nextindex=index+1 self.photo=ImageTk.PhotoImage(img.resize(self.resolution, Image.ANTIALIAS)) self.canvas.itemconfig(self.imageCreated,image=self.photo) self.canvas.after(2000, lambda:self.change_image(list_directory, nextindex ))For me maybe the problem could come from the "loop", but i don't know how to solve it.
Thanks for your help