2

如何将按钮小部件放在背景图像的顶部?

from Tkinter import *
import tkMessageBox

root = Tk()

# load image
logo = PhotoImage(file="C:\\Users\\admin\\Desktop\\project\\front page.gif")
w = logo.width()
h = logo.height()

root.geometry('%dx%d+0+0' % (w,h))

def helloCallBack():
    tkMessageBox.showinfo("Hello Python", "Hello World")

#create widgets
B = Button(root,text = "ASSOCIATIONS", command = helloCallBack,width = 20,padx = 20)
B.pack()

B1 = Button(root,text = "HELP", command = helloCallBack,width = 20,padx = 20)
B1.place(relx=1, x=-50, y=2, anchor=NE)
B1.pack()

w1 = Label(root, compound = CENTER, image = logo).pack(side="right")

root.mainloop()
4

1 回答 1

3

最简单的做法是使用 将背景图像place放入小部件中,然后按照您通常使用pack或的方式将其他小部件放入该小部件中grid

background=Label(root, image=logo).place(x=0,y=0,relwidth=1, relheight=1)
b = Button(root, ...).pack(...)

确保首先创建背景,使其具有较低的堆叠顺序。

如果您真的想将按钮放入标签中,只需将标签设置为按钮的父级并使用packgrid按照您通常的方式使用 - 在 Button 或 Label 或任何其他小部件中打包东西是完全合法的(尽管,最终结果可能不是您所期望的)。

于 2012-04-16T20:42:28.350 回答