【问题标题】:Image behind buttons in tkinter (PhotoImage)tkinter 中按钮后面的图像(PhotoImage)
【发布时间】:2013-03-25 14:59:39
【问题描述】:

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

这里是它的相关代码:

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

非常感谢。

【问题讨论】:

    标签: python button tkinter label background-image


    【解决方案1】:

    你可以在画布上放置一张图片,然后place a button on the 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()
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-07-23
      • 1970-01-01
      • 2021-03-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多