如何在顶层 window 的 tkinter 上添加图片背景?

How do I add a picture background on tkinter on a toplevel window?

我发现这段图片背景代码在我的主屏幕上效果很好 window:

C = Canvas(window, bg="blue", height=250, width=300)
filename = PhotoImage(file = "C:\file_address\background.png")
background_label = Label(window, image=filename)
background_label.place(x=0, y=0, relwidth=1, relheight=1)

C.grid(row=0, column=0, rowspan=5, columnspan=3)

然而,当我在 Toplevel() window 上使用它时,它根本没有出现 - 我只剩下灰色背景。它显示的唯一方式是当我使用 C.pack() 但后来我的所有小部件都没有显示。我试着玩 C.lift() 和 C.lower() 但 none 似乎按我想要的方式工作。

正在垃圾回收中参考图片

C = Canvas(window, bg="blue", height=250, width=300)
filename = PhotoImage(file = "C:\file_address\background.png")
background_label = Label(window, image=filename)
background_label.place(x=0, y=0, relwidth=1, relheight=1)

background_label.image = filename # reference to the image
C.grid(row=0, column=0, rowspan=5, columnspan=3)

这样做会在您打开 toplevel window

时显示图像