Python- tkinter:在另一个 window 中打开另一个图像?
Python- tkinter: Opening One Another image in another window?
你好,我正在做我需要的工作(来自包含图像的 tkinter window)调用另一个包含另一个 imagem.I 的 window 尝试了以下操作:
from tkinter import*
def abrir1():
b =Tk()
imagen = PhotoImage(file= "F2.png")
la = Label(b,image =imagen)
la.pack()
def abrir2():
b =Toplevel()
imagen = PhotoImage(file= "F2.png")
la = Label(b,image =imagen)
la.pack()
a = Tk()
canvas = Canvas(a, bg ="black",width = 512,height =512)
canvas.pack()
imagem = PhotoImage(file = "E2.png")
a1 = canvas.create_image(256,256,image = imagem)
btu1 = Button(a,text ="Abri1!",command = abrir1)
btu1.place(x = 150,y=400)
btu2 = Button(a,text ="Abri2!",command = abrir2)
btu2.place(x = 300,y=400)
但是当我按下第一个按钮 ( btu1 ) 时 returns 出现以下错误消息:
_tkinter.TclError: image "pyimage2" doesn't exist
当我按下第二个按钮 ( btu2 ) 时没有发生错误但不显示图像,只创建了新的 window ;
我尝试了几种方法,包括将 * 与 canvas 和 一起放置 [=29] =]*;
你的代码有两个问题。
第一个问题是您正在创建 Tk
的两个实例。一个 tkinter 程序需要恰好有一个实例。
第二个问题是您正在创建的图像被保存为局部变量。当函数returns时,变量被垃圾回收。当垃圾收集 tkinter 图像时,即使小部件仍然存在,图像数据也会被丢弃。
对 Internet 进行非常基本的搜索会得到此页面:http://effbot.org/pyfaq/why-do-my-tkinter-images-not-appear.htm
你好,我正在做我需要的工作(来自包含图像的 tkinter window)调用另一个包含另一个 imagem.I 的 window 尝试了以下操作:
from tkinter import*
def abrir1():
b =Tk()
imagen = PhotoImage(file= "F2.png")
la = Label(b,image =imagen)
la.pack()
def abrir2():
b =Toplevel()
imagen = PhotoImage(file= "F2.png")
la = Label(b,image =imagen)
la.pack()
a = Tk()
canvas = Canvas(a, bg ="black",width = 512,height =512)
canvas.pack()
imagem = PhotoImage(file = "E2.png")
a1 = canvas.create_image(256,256,image = imagem)
btu1 = Button(a,text ="Abri1!",command = abrir1)
btu1.place(x = 150,y=400)
btu2 = Button(a,text ="Abri2!",command = abrir2)
btu2.place(x = 300,y=400)
但是当我按下第一个按钮 ( btu1 ) 时 returns 出现以下错误消息:
_tkinter.TclError: image "pyimage2" doesn't exist
当我按下第二个按钮 ( btu2 ) 时没有发生错误但不显示图像,只创建了新的 window ;
我尝试了几种方法,包括将 * 与 canvas 和 一起放置 [=29] =]*;
你的代码有两个问题。
第一个问题是您正在创建 Tk
的两个实例。一个 tkinter 程序需要恰好有一个实例。
第二个问题是您正在创建的图像被保存为局部变量。当函数returns时,变量被垃圾回收。当垃圾收集 tkinter 图像时,即使小部件仍然存在,图像数据也会被丢弃。
对 Internet 进行非常基本的搜索会得到此页面:http://effbot.org/pyfaq/why-do-my-tkinter-images-not-appear.htm