Python Tkinter图像为空白

Python Tkinter图像为空白,python,tkinter,pillow,Python,Tkinter,Pillow,我有以下python代码: from tkinter import * from PIL import ImageTk, Image import sys, os height = 5 width = 8 # window = Tk() class NSUI(Frame): def reload(self): os.execl(sys.executable, sys.executable, *sys.argv) def __init__(self, mast

我有以下python代码:

from tkinter import *
from PIL import ImageTk, Image
import sys, os
height = 5
width = 8

# window = Tk()


class NSUI(Frame):
    def reload(self):
        os.execl(sys.executable, sys.executable, *sys.argv)
    def __init__(self, master=None):
        """
        Initialise process application
        """
        Frame.__init__(self, master)
        self.grid()
        self.master.title('PROGProject')
        # Configure columns
        for r in range(7):
            self.master.rowconfigure(r, weight=1)
        # Create columns
        for c in range(7):
            self.master.columnconfigure(c, weight=1)
            Button(master, text = "Actuele reistijden", bg = '#005ca0', fg = 'white', font = "Verdana 10", width = width, height = height, command = self.reload).grid(row = 5,column = 2,sticky = E+W)
            Button(master, text = 'Storingen', bg = '#005ca0', fg = 'white', font = "Verdana 10", width = width, height = height, command = self.reload).grid(row = 5,column = 4,sticky = E+W)

        Label(master, text = 'Welkom bij NS',font = "Verdana 50", bg = "#EFD10E", fg = "#005ca0").grid(row=0,column=1, columnspan=5)

        path = "test.jpg"
        img = ImageTk.PhotoImage(Image.open(path))
        panel = Label(root, image=img).grid(column=2,row=2)






root = Tk()

root.configure(background="#EFD10E")
root.tk.call('tk', 'scaling', 1.5)

app = NSUI(master=root)
app.mainloop()
它应该加载一个图像,图像在正确的目录中,我确保了这一点。但出于某种原因,它只是加载了一个白色正方形。有人知道这是怎么可能的吗

我添加的相关代码位:

path = "test.jpg"
img = ImageTk.PhotoImage(Image.open(path))
panel = Label(root, image=img).grid(column=2,row=2)

提前感谢。

您必须将图像锚定到对象

path = "test.jpg"
img = ImageTk.PhotoImage(Image.open(path))
panel = Label(root, image=img)
panel.photo = img
panel.grid(column=2,row=2)

您必须将图像锚定到对象

path = "test.jpg"
img = ImageTk.PhotoImage(Image.open(path))
panel = Label(root, image=img)
panel.photo = img
panel.grid(column=2,row=2)

这可能是相关的:这可能是相关的:它起作用了,我将在5分钟内接受这个答案:DIt起作用了,我将在5分钟内接受这个答案:D