gpt4 book ai didi

python - 为什么它在我的 Tkinter 程序中显示空白而不是图片?

转载 作者:太空狗 更新时间:2023-10-30 02:46:24 24 4
gpt4 key购买 nike

我想用Tkinter显示特定目录下的所有图片,所以我首先编码显示给定列表中的所有图片

代码是:

import os

from Tkinter import *
from PIL import Image, ImageTk

class Application(Frame):
def add_pic_panel(self, pic):
img = ImageTk.PhotoImage(Image.open(pic))
label = Label(root, image = img)
print label
return label

def create_gui(self):
pics = ['1.jpg', '2.jpg']
for pic in pics:
self.add_pic_panel(pic)
pass

def __init__(self, master=None):
Frame.__init__(self, master)
self.pack()
self.create_gui()

root = Tk()
app = Application(master=root)
app.mainloop()
root.destroy()

环境:Mac OS 10.9,Python 2.7.5如何显示列表中的所有图片?

最佳答案

  1. 代码不打包标签。
  2. 应保留图像的引用。

def add_pic_panel(self, pic):
img = ImageTk.PhotoImage(Image.open(pic))
label = Label(self.master, image=img)
label.img = img # to keep the reference for the image.
label.pack() # <--- pack
return label

顺便说一句,add_pic_panel 直接使用root。最好使用 self.master

最后一行的

root.destroy() 在关闭窗口时导致 TclError。删除该行。

关于python - 为什么它在我的 Tkinter 程序中显示空白而不是图片?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20812579/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com