3

我一直在尝试添加图像,以便我的按钮位于图像顶部,但只能使图像完全覆盖所有内容或强制图像位于按钮覆盖的水平部分下方。

这是它的相关代码:

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

非常感谢。

4

1 回答 1

10

您可以将图像放在画布上,然后在画布上放置一个按钮

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

在此处输入图像描述

于 2013-04-03T20:09:19.507 回答