如何在多张画布上放置图像?

2024-10-04 05:25:43 发布

您现在位置:Python中文网/ 问答频道 /正文

我已经编写了一个简单的代码,让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()

我应该有一个画布,可以调用另一个画布,两个画布上都有图像 我知道图像文件是好的,因为他们的工作时,画布是第一次调用


Tags: 图像pngdef画布buttonrootglobaltk