在ttk/python中更改标签小部件的填充颜色

在ttk/python中更改标签小部件的填充颜色,python,tkinter,styling,ttk,Python,Tkinter,Styling,Ttk,我试图在python中用ttk/tkinter显示一个图像。图像有一个白色边框,我想在一个更大的白色背景上显示这个图像-因此它周围有很多空白 为此,我在标签中使用了“padx”和“pady”,每个都是100px。不幸的是,填充区域是灰色的 现在我试着改变标签的前景色和背景色,但没有效果。填充区域保持灰色。然后,我将标签放入框架小部件中,并尝试更改框架的前景/背景颜色。但不幸的是,Frame小部件没有侦听width=和height=参数。此外,如果我改变前景色,凹陷的边框也会改变颜色-真的很酷,但

我试图在python中用ttk/tkinter显示一个图像。图像有一个白色边框,我想在一个更大的白色背景上显示这个图像-因此它周围有很多空白

为此,我在标签中使用了“padx”和“pady”,每个都是100px。不幸的是,填充区域是灰色的

现在我试着改变标签的前景色和背景色,但没有效果。填充区域保持灰色。然后,我将标签放入框架小部件中,并尝试更改框架的前景/背景颜色。但不幸的是,Frame小部件没有侦听width=和height=参数。此外,如果我改变前景色,凹陷的边框也会改变颜色-真的很酷,但对我来说完全没有用:/

有人能帮我吗?当前的非工作代码如下所示:

style = Style()

style.configure('Dlr.TFrame', background="blue", relief=SUNKEN)
frm = Frame(self, style="Dlr.TFrame") # does not work: ,height=500,width=500)
frm.grid(row=0, column=0, rowspan=8, columnspan=2, sticky=N+S+E+W)

style.configure("Dlr.TLabel", background="white")
style.configure("Dlr.TLabel.padding", background="white") # just guessed ...
self.IMG = Label(frm, style="Dlr.TLabel")
self.IMG.grid(row=0, column=0, padx=100, pady=100)

将图像放入帧中,然后设置帧颜色的技术是正确的技术

宽度和高度不起作用,因为默认情况下,
grid
pack
都会导致包含的小部件“收缩以适合”。这称为几何体传播。您可以使用方法或包含的小部件打开或关闭此功能


例如,如果您调用
frm.grid\u propagate(False)
,然后设置
frm
的窗口小部件和高度,则宽度和高度将得到尊重。

感谢您的回复。我得到的结果是好坏参半的。好消息是,我使用
grid\u propagate(false)
使框架增长到固定大小。坏消息是背景仍然是灰色的,现在图像位于帧的左上角。新代码:
style.configure('Dlr.TFrame',relief=RAISED,bg=“white”)#bg不工作frm=Frame(self,style=“Dlr.TFrame”,width=500,height=500)frm.grid(False)frm.grid(row=0,column=0,rowspan=10,columnspan=2)#图像/标签没有变化,只是删除了padx/y
你必须使用完整的关键字“background”而不仅仅是“bg”正如你在上面发布的。