Как нанести изображения на несколько холстов? - PullRequest
0 голосов
/ 09 мая 2019

Я написал простой код, чтобы в 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()

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...