Tkinter没有在目录中显示图像

时间:2017-03-11 03:32:08

标签: python tkinter pillow

我有一个带图像的文件夹,我正在使用tkinter和PIL在目录中显示图像。但是,每当我运行以下代码时,它都不会显示任何图像。这是我试过的代码,

from Tkinter import *
import os
from PIL import Image, ImageTk    

def getFileName(image):
    print str(image)

def CropManual():
    global outputFile
    #getCrop(outputFile)
    print "Crop Manual"

def showImages(folder):
    print "loading....", folder
    gtk = Tk()
    gtk.wm_title("Images")

    row, col = 0,0
    for images in os.listdir(folder):
        print images
        im = Image.open(images)
        #im = im.resize(250, 250, Image.ANTIALIAS)
        tkimage = ImageTk.PhotoImage(im)
        handler = lambda img = images : getFileName(img)
        imageButton = Button(gtk, image=tkimage, command=handler)
        imageButton.image=tkimage
        imageButton.grid(row=row+1, column=col+1, padx=3, pady=3)
        row +=1; col+=1;
    userCrop = Button(gtk, text="Crop Manually?", command=CropManual)
    userCrop.grid(row=row+1, column=col+1, padx=3, pady=3)
    gtk.mainloop()

showImages("/home/yogaraj/Music/Image1487915648.54/")

图像文件夹在这里。

这是我得到的错误

尽管文件存在,但它没有显示此类文件或目录。任何人都可以帮我解决这个问题吗?

1 个答案:

答案 0 :(得分:2)

您必须传递图像的绝对路径

更改

im = Image.open(images)

im = Image.open(folder + images)

或更好

im = Image.open(os.path.join(folder, images))