如何将按钮小部件放在标签小部件上并确定其在Tkinter中的位置

时间:2012-04-16 19:42:14

标签: python tkinter tk

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

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

1 个答案:

答案 0 :(得分:3)

最简单的方法是使用place在窗口小部件中放置背景图片,然后将其他窗口小部件放在该窗口小部件中,就像通常使用packgrid一样/ p>

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

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

如果您真的想在标签中添加一个按钮,只需将标签设为按钮的父级,并按照通常的方式使用packgrid - 包装内容完全合法在Button或Label或任何其他小部件中(但最终结果可能不是您所期望的)。