Python 如何使用Tkinter在GUI中导入和显示图像列表?

Python 如何使用Tkinter在GUI中导入和显示图像列表?,python,python-3.x,image,user-interface,tkinter,Python,Python 3.x,Image,User Interface,Tkinter,我正在尝试从一个名为“gta”的文件夹加载图像,然后在我的应用程序上显示这些游戏徽标。程序没有错误,但我认为这是一个逻辑错误。我是Python新手,我不知道我的displayImg函数中可能存在一些作用域逻辑问题。不确定它是否可以工作,但尝试使用您从中获取图像的gta文件夹的路径,而不是其名称-用路径替换名称 注意:当PhotoImage对象被Python垃圾收集时(例如。 当您从将图像存储在本地 变量),即使图像由 Tkinter小部件 试着在你的代码> > DePiximg(IMG)< /

我正在尝试从一个名为“gta”的文件夹加载图像,然后在我的应用程序上显示这些游戏徽标。程序没有错误,但我认为这是一个逻辑错误。我是Python新手,我不知道我的displayImg函数中可能存在一些作用域逻辑问题。

不确定它是否可以工作,但尝试使用您从中获取图像的gta文件夹的路径,而不是其名称-用路径替换名称

注意:当PhotoImage对象被Python垃圾收集时(例如。 当您从将图像存储在本地 变量),即使图像由 Tkinter小部件


试着在你的代码> > DePiximg(IMG)< /C>上面说<代码>全局照片>代码?这看起来更像是一个评论,而不是一个答案,也许考虑删除这个并张贴评论?如果你想离开A,请等到你有足够的。抄送@CoolCloud它需要50点声望:)@CoolCloud不应该这样做,因为他对多个图像使用了for循环。你会覆盖它,只有一个图像。
from tkinter import *
from PIL import Image, ImageTk
import glob, os

root = Tk()
root.geometry("800x600")

# Function to display image
def displayImg(img):
    image = Image.open(img)
    photo = ImageTk.PhotoImage(image)
    newPhoto_label = Label(image=photo)
    newPhoto_label.pack()

# gta_images = []
os.chdir("gta")
for file in glob.glob("*.jpg"):
    # gta_images.append(str(file))
    displayImg(file)
    print(file)

# print(gta_images)    

root.mainloop()
from tkinter import *
from PIL import Image, ImageTk
import glob, os

root = Tk()
root.geometry("800x600")
photos = []

def displayImg(img):
    image = Image.open(img)
    photo = ImageTk.PhotoImage(image)
    photos.append(photo)#keep references!
    newPhoto_label = Label(image=photo)
    newPhoto_label.pack()

for file in glob.glob("*.jpg"):
    displayImg(file)
    print(file)
   

root.mainloop()