-1

My problem is when I call image1 it works but doesn't show any image at all

Not showing image

Here is the full code of the program:

from Tkinter import *
from PIL import Image, ImageTk
import random
root = Tk()
n = random.randint(1,1)
def image1():
    image = Image.open("400.jpg")
    image = image.resize((500, 250), Image.ANTIALIAS)
    photo = ImageTk.PhotoImage(image)
def image2():
    image = Image.open("236.jpg")
    image = image1.resize((500, 250), Image.ANTIALIAS)
    photo = ImageTk.PhotoImage(image2)
def image3():
    image = Image.open("258.jpg")
    image = image1.resize((500, 250), Image.ANTIALIAS)
    photo = ImageTk.PhotoImage(image3)
def image4():
    image = Image.open("20130818_145719.jpg")
    image = image1.resize((500, 250), Image.ANTIALIAS)
    photo = ImageTk.PhotoImage(image4)
def image5() :
    image = Image.open("DSC01190.jpg")
    image = image1.resize((500, 250), Image.ANTIALIAS)
    photo = ImageTk.PhotoImage(image5)
def image6():
    image = Image.open("DSC01472.jpg")
    image = image1.resize((500, 250), Image.ANTIALIAS)
    photo = ImageTk.PhotoImage(image6)
def image7():
    image = Image.open("IMG_0029.jpg")
    image = image1.resize((500, 250), Image.ANTIALIAS)
    photo = ImageTk.PhotoImage(image7)
def image8():
    image = Image.open("IMG_0204.jpg")
    image = image1.resize((500, 250), Image.ANTIALIAS)
    photo = ImageTk.PhotoImage(image8)


label = Label(image=image1()) # keep a reference!
label.pack()
root.mainloop()
Nae
  • 14,209
  • 7
  • 52
  • 79

1 Answers1

0

Add:

...
reference_to_the_image = image1()
label = Label(image=reference_to_the_image)
...

As the reference to the image needs to be present in the scope it is wanted to be shown in.

Nae
  • 14,209
  • 7
  • 52
  • 79