Estoy intentando averiguar que está pasando en mi código que la imagen que intento imprimir en mi canvas sólo aparece si tengo un error, y sin embargo si no lo tengo no la imprime.
def printScreen(self): global capname, number, capture, array filename = tkFileDialog.askopenfilename(initialdir = "C:/Motic/Motic Images Plus 2.0/Capture Folder", title = "Select capture",filetypes = (("bmp files","*.bmp"),("all files","*.*"))) capture = Image.open(filename) splitter = filename.split("/") capname = splitter[-1].split(".") splitter = filename.split("_") number = splitter[-1].split(".") number = int(number[0]) - 1 path = 'C:/Motic/Motic Images Plus 2.0/Capture Folder' array = glob.glob(os.path.join(path, '*.bmp')) im = ImageTk.PhotoImage(capture) self.imgArea = self.canvas.create_image(180, 20, anchor = NW, image = im) self.canvas.pack(fill=None, expand=False) print("--before--") im.pack() #aquí es donde me da el error print("--after--")
Exception in Tkinter callback Traceback (most recent call last): File "C:\Python27\lib\lib-tk\Tkinter.py", line 1541, in call return self.func(*args) File "parabox.py", line 55, in printScreen im.pack() AttributeError: PhotoImage instance has no attribute 'pack'
Por otro lado, si elimino la fila en la que me da el error, ya no salta, e imprime "--before--" y "--after--", pero no me imprime la imagen.
Gracias de antemano.