The scenario is this: I want to loop around all of the images in a given directory (which I know will be images, but I guess I should check), show an image in a window, wait 2 seconds and show the next one and repeat that indefinitley, which will be until the user closes the window.
This is the code I extracted from the larger program and made work - sort of - in a standalone fashion. When I run the code, each of the file names gets displayed, and I can view the images, so it has to be something I am doing wrong with this chunk of code. However, I don't see what the problem is. from Tkinter import * import time import os import ImageTk import Image class externalLoopDisplay: def show(self): # # Create a frame # self.window = Tk() self.f = Frame(self.window, bg="Gray") self.f.grid() self.btnRefresh = Button(self.f, text="Close", command=self.window.destroy, bg="Gray",highlightbackground="Red", highlightcolor="Green") self.btnRefresh.grid(row=0, column=2) self.loopImage() def loopImage(self): dir = "Radar/net17" while 1: fileList = os.listdir(dir) number = len(fileList) c = 1 for gifFile in fileList: print "externalLoopDisplay.show:","top of for loop " + str(c) + " of " + str(number) print "externalLoopDisplay.show:","showing file " + dir + "/" + gifFile self.window.title("Image " + str(c) + " of " + str(number)) image = Image.open(dir + "/" + gifFile) canvasWidth, canvasHeight = image.size self.w = Canvas(self.f, width=canvasWidth, height=canvasHeight) photo = ImageTk.PhotoImage(image=image) netRadarImage = Label(self.w, image=photo) netRadarImage.image = photo self.w.grid(row=1, column=0, columnspan=3) netRadarImage.grid( row=1, column=0) time.sleep(10) c = c + 1 self.w.destroy() loop=externalLoopDisplay() loop.show() -- http://mail.python.org/mailman/listinfo/python-list