Python - problema con carga de imágenes

 
Vista:
Imágen de perfil de César
Val: 41
Ha disminuido su posición en 2 puestos en Python (en relación al último mes)
Gráfica de Python

problema con carga de imágenes

Publicado por César (20 intervenciones) el 01/12/2019 19:39:25
Buenas tardes.

Tengo un problemilla con la carga de imágenes en un Label (tkinter).
Con este codigo:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
class aplicacion():
    def __init__(self):
        self.raiz=Tk()
        self.raiz.geometry('300x500+100+100')
        self.raiz.resizable(0,0)
        self.raiz.title('Aprender inglés')
        EInformacion=ttk.Label(self.raiz,
                   text='Escribe la traducción en el cuadro de abajo')
        EInformacion.place(x=10, y=10)
        txt=ttk.Entry(self.raiz,width=18)
        txt.place(x=130,y=40)
        im='naranja.png'
        pe='orange'
        Imagen=PhotoImage(file=im, width=450, height=637)
        Etiqueta=ttk.Label(self.raiz, text=pe)
        Etiqueta.place(x=10, y=40)
        EtiquetaImagen=Label(self.raiz, image=Imagen)
        EtiquetaImagen.place(x=15,y=100)
        self.raiz.mainloop()
def main():
    mi_app=aplicacion()
    return(0)
 
if __name__=='__main__':
    main()

No tengo ningún problema, se ejecuta y se carga la imagen correctamente
como podéis ver
SinFuncion

Sin embargo, con este otro, se carga la ventana principal con el botón y al darle al botón...
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
class aplicacion():
    def __init__(self):
        self.raiz=Tk()
        self.raiz.geometry('300x100+100+100')
        self.raiz.resizable(0,0)
        self.raiz.title('Aprender inglés')
        b10p=ttk.Button(self.raiz, text='aprender 10 palabras nuevas',
                        command=self.A10P)
        b10p.place(x=10, y=10)
        self.raiz.mainloop()
    def A10P(self):
        self.a10p=Toplevel()
        self.a10p.geometry('300x500+100+100')
        self.a10p.resizable(0,0)
        self.a10p.title('Aprender inglés')
        EInformacion=ttk.Label(self.a10p,
                   text='Escribe la traducción en el cuadro de abajo')
        EInformacion.place(x=10, y=10)
        txt=ttk.Entry(self.a10p,width=18)
        txt.place(x=130,y=40)
        Imagen=PhotoImage(file='naranja.png', width=450, height=637)
        Etiqueta=ttk.Label(self.a10p, text='orange')
        Etiqueta.place(x=10, y=40)
        EtiquetaImagen=Label(self.a10p, image=Imagen)
        EtiquetaImagen.place(x=15,y=100)
def main():
    mi_app=aplicacion()
    return(0)
 
if __name__=='__main__':
    main()
No se carga la imagen, siendo el código el mismo..
ConFuncion

Estoy más perdido que un gato en una fábrica de sifones, a ver si me podéis echar una manita.

Gracias de antemano.

Saludos
César
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil
Val: 2.808
Oro
Ha mantenido su posición en Python (en relación al último mes)
Gráfica de Python

problema con carga de imágenes

Publicado por tincopasan (1082 intervenciones) el 02/12/2019 04:28:08
hola:
podrías probar reemplazando estas líneas:

1
Imagen=PhotoImage(file='naranja.png', width=450, height=637)
por:
1
self.Imagen=PhotoImage(file='naranja.png', width=450, height=637)

y por consiguiente:

1
EtiquetaImagen=Label(self.a10p, image=Imagen)

en :

1
EtiquetaImagen=Label(self.a10p, image=self.Imagen)

Saludos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
Imágen de perfil de César
Val: 41
Ha disminuido su posición en 2 puestos en Python (en relación al último mes)
Gráfica de Python

problema con carga de imágenes

Publicado por César (20 intervenciones) el 02/12/2019 17:11:06
Hola tincopasan

Hay que ver cuánto me queda por aprender.....

¡¡Muchas gracias de nuevo!!, funciona de maravilla.

Saludos
César
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar