Imagen detrás de los botones en tkinter (PhotoImage)

He estado intentando agregar una imagen para que mis botones queden en la parte superior de la imagen, pero solo he podido hacer que la imagen cubra todo por completo o forzar que la imagen esté debajo de la parte horizontal que cubren los botones.

Aquí está el código relevante para ello:

class MainMenu(Frame): def __init__(self, master): Frame.__init__(self, master) self.master = master self.initUI() def initUI(self): self.master.title("Adventure") bg = PhotoImage(file="Background-gif.gif") newGameButton = Button(self, text="New Game", height=2, width=20, command=self.newGame) newGameButton.pack(side=TOP, pady=50) loadGameButton = Button(self, text="Load Game", height=2, width=20, command=self.loadGame) loadGameButton.pack(side=TOP) quitButton = Button(self, text="Quit", height=2, width=20, command=self.close) quitButton.pack(side=TOP, pady=50) label = Label(self, image=bg) label.image = bg label.pack(fill=BOTH, expand=1) self.pack() 

Muchas gracias.

Podría colocar una imagen en un canvas y luego colocar un botón en el canvas :

 import Tkinter as tk import ImageTk FILENAME = 'image.png' root = tk.Tk() canvas = tk.Canvas(root, width=250, height=250) canvas.pack() tk_img = ImageTk.PhotoImage(file = FILENAME) canvas.create_image(125, 125, image=tk_img) quit_button = tk.Button(root, text = "Quit", command = root.quit, anchor = 'w', width = 10, activebackground = "#33B5E5") quit_button_window = canvas.create_window(10, 10, anchor='nw', window=quit_button) root.mainloop() 

introduzca la descripción de la imagen aquí