Я написал простой код, чтобы в Python / Tkinter было два полотна с изображением.На втором холсте он всегда терпит неудачу, говоря, что изображение не существует.
Я попытался начать с другого холста, и изображение отлично работает на этом, но при вызове холста, который работал ранее, оно снова не работает.
Также я попытался определить изображение из подпрограммы и сделать его глобальным.не помогло
from tkinter import *
def canvas1():
global root,root2,w,photo2,photo1
root=Tk()
Button(root,text="new1",command=canvas2).grid()
photo1 = PhotoImage(file="person.png")
photo2 = PhotoImage(file="person2.png")
w=Label(root,image=photo1)
w.photo = photo1
w.grid(column=3,row=1)
root.mainloop()
def canvas2():
global root,root2,x,photo2,photo1
root2=Tk()
Button(root2,text="new2",command=canvas1).grid()
photo1 = PhotoImage(file="person.png")
photo2 = PhotoImage(file="person2.png")
x=Label(root2,image=photo2)
x.photo = photo2
x.grid(column=3,row=1)
root2.mainloop()
canvas1()
У меня должен быть холст, который вызывает другого с изображением на обоих. Я знаю, что файлы изображений в порядке, они работают нормально, когда этот холст вызывается первым.