Python 展开背景图像以适应窗口,并在tkinter中将帧堆叠在其上

Python 展开背景图像以适应窗口,并在tkinter中将帧堆叠在其上,python,tkinter,Python,Tkinter,我正在尝试使用tkinter将背景图像添加到我的GUI应用程序中。在根窗口中,我有两个框架,分别命名为container_1和container_2。当我添加背景图像时,这些框被推到图像的外部。我可以看到它们,因为窗口大小大于图像大小。如果更少,它甚至不可见。如何将它们放置在背景图像上?是否可以为容器_1和容器_2提供不同的背景图像? 请给我一些建议 注释链接中的imgae import tkinter as tk def FnToShow(): container_2.pack(si

我正在尝试使用tkinter将背景图像添加到我的GUI应用程序中。在根窗口中,我有两个框架,分别命名为container_1和container_2。当我添加背景图像时,这些框被推到图像的外部。我可以看到它们,因为窗口大小大于图像大小。如果更少,它甚至不可见。如何将它们放置在背景图像上?是否可以为容器_1和容器_2提供不同的背景图像? 请给我一些建议

注释链接中的imgae

import tkinter as tk

def FnToShow():
    container_2.pack(side="right",expand=True, fill="x", padx=1, pady=1)

def FnToHide():
    container_2.pack_forget()

root = tk.Tk()
root.geometry('800x600')
#bg image
background_image=tk.PhotoImage(file= "bgPic.png")
background_label = tk.Label(root, image=background_image)
background_label.pack() # is pack problematic here?

container_1 = tk.Frame(root, borderwidth=2, relief="solid")
container_2 = tk.Frame(root, borderwidth=2, relief="solid")

settingBtn  = tk.Button(container_1, text="Settings", command= FnToShow)
settingBtn.grid(row=6, column=4)

setting_1 = tk.Label(container_2, text="Setting-1", fg='#000000')
setting_1.grid(row=3, column=10)
setting_2 = tk.Label(container_2, text="Setting-2", fg='#000000')
setting_2.grid(row=4, column=10)
closeSettingBtn  = tk.Button(container_2, text="close Settings", command= FnToHide)
closeSettingBtn.grid(row=5, column=10)

container_1.pack(side="left", expand=True, fill="x", padx=1, pady=1)
root.mainloop()

我用于实验的图像在这里。这个问题的答案可能对你有帮助。我试过了。但是框架容器1和容器2是有问题的!很简单。!背景_label.placerelx=.5,rely=.5,anchor=center
#setting background image
background_main_img=tk.PhotoImage(file= "bgMain.png")
background_main = tk.Label(root, image=background_main_img)
background_main.place(relx=.5, rely=.5, anchor="center")

#setting background image for container frame
background_con_1=tk.PhotoImage(file= "bgContainer.png")
background_label = tk.Label(container_1, image=background_con_1)
background_label.place(relx=.5, rely=.5, anchor="center")