Невозможно получить доступ к объявленному изображению с помощью imageTk в определении - PullRequest
0 голосов
/ 18 октября 2018

Я объявил файл изображения в классе, и я могу показать его в теле класса.Но когда я вызываю его внутри функции, чтобы показать его в теле функции, он выдает ошибку.

Вот мой код:

import tkinter
from tkinter import *
from PIL import Image,ImageTk
body=Tk()
ftpim = Image.open('textfile_big.png')
ftpfileimage = ImageTk.PhotoImage(ftpim)
lbl=Label(body,image=ftpfileimage).pack()
def nextimg():
    cbody=Tk()
    lbl=Label(cbody,image=ftpfileimage).pack()
but=Button(body,command=nextimg,text="show").pack()
body.mainloop()

Однако, когда я выполняю его,У меня ошибка "pyimage1" doesn't exist:

Exception in Tkinter callback
Traceback (most recent call last):
File "C:\Users\My Love\AppData\Local\Programs\Python\Python37-32\lib\tkinter\__init__.py", line 1702, in __call__
return self.func(*args)
File "C:\Users\My Love\Desktop\New Folder\Unknown_Project\Unknown_package\sssss.py", line 10, in nextimg
lbl=Label(cbody,image=ftpfileimage).pack()
File "C:\Users\My Love\AppData\Local\Programs\Python\Python37-32\lib\tkinter\__init__.py", line 2763, in __init__
Widget.__init__(self, master, 'label', cnf, kw)
File "C:\Users\My Love\AppData\Local\Programs\Python\Python37-32\lib\tkinter\__init__.py", line 2296, in __init__
(widgetName, self._w) + extra + self._options(cnf))
_tkinter.TclError: image "pyimage1" doesn't exist
...