如何将按钮小部件放在背景图像的顶部?
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()
答案 0 :(得分:3)
最简单的方法是使用place
在窗口小部件中放置背景图片,然后将其他窗口小部件放在该窗口小部件中,就像通常使用pack
或grid
一样/ p>
background=Label(root, image=logo).place(x=0,y=0,relwidth=1, relheight=1)
b = Button(root, ...).pack(...)
确保首先创建背景,使其具有较低的堆叠顺序。
如果您真的想在标签中添加一个按钮,只需将标签设为按钮的父级,并按照通常的方式使用pack
或grid
- 包装内容完全合法在Button或Label或任何其他小部件中(但最终结果可能不是您所期望的)。