Python Tkinter, PIL. У меня пропадает изображение при открытии нового
Я делаю приложение, которое будет показывать изображения.
from tkinter import *
from tkinter.ttk import *
from PIL import ImageTk, Image
window = Tk()
tabControl = Notebook(window)
def getsize(event=False):
scrollCanvas.configure(width=int(window.winfo_screenwidth())-100, height=int(window.winfo_screenheight())-100, scrollregion=scrollCanvas.bbox(ALL))
def open(filepath, name="Изображение", event=False):
global PILImage, image, tab, scrollCanvas
tab = Frame(tabControl)
tabControl.add(tab, text=name)
scrollCanvas = Canvas(tab)
scrollCanvas.place(x=0,y=0)
PILImage = ImageTk.PhotoImage(Image.open(os.path.abspath(filepath)))
scrollCanvas.create_image(0, 0, image=PILImage, anchor=NW)
x_scroll = Scrollbar(tab, orient=HORIZONTAL, command=scrollCanvas.xview)
x_scroll.pack(side=BOTTOM,fill=X)
y_scroll = Scrollbar(tab, orient=VERTICAL, command=scrollCanvas.yview)
y_scroll.pack(side=RIGHT, fill=Y)
scrollCanvas.configure(xscrollcommand=x_scroll.set)
scrollCanvas.configure(yscrollcommand=y_scroll.set)
window.bind("<Configure>", VarImage.getsize)
tab.bind("<MouseWheel>", lambda event: scrollCanvas.yview_scroll(-1*(event.delta/120), "units"))
tabControl.pack(anchor=NW)
window.bind("<Control-n>", open("файл"))
window.mainloop()
После создания 2й вкладки изображение с первой пропадает. Как оставить изображение на всех вкладках. (их может быть большое количество, поэтому вариант с отдельной переменной на каждое изобрадение не пойдёт).