首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在ttk / python中更改Label小工具的填充颜色

在ttk / python中更改Label小工具的填充颜色
EN

Stack Overflow用户
提问于 2012-01-18 21:00:02
回答 1查看 3.9K关注 0票数 4

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

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

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

有人能帮我这个忙吗?当前无法工作的代码如下所示:

代码语言:javascript
复制
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)
EN

回答 1

Stack Overflow用户

发布于 2012-01-19 02:23:54

将图像放入框架内,然后设置框架颜色的技术是正确的技术。

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

例如,如果您调用frm.grid_propagate(False),然后设置frm的小部件和高度,则将使用宽度和高度。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8910500

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档