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()