Tkinter - 防止 children 改变 parent 宽度
Tkinter - Prevent children from changing parent width
默认情况下,Tkinter 小部件将根据其 children 的大小调整大小(即,Tkinter 不会遵守我的 width
和 height
配置)。我知道使用 parent.pack_propagate(False)
会阻止 parent
的 children 修改其尺寸,但是如果我只想阻止 children 改变一维,允许它修改另一个维度?例如,我如何防止小部件的 children 修改其宽度但允许它更改其高度?
我想出的一个 hack-ish 解决方案是有一个 1px 高的框架和我要求的宽度,并将其添加到 parent,这样可以防止另一个 children 缩小parent 的宽度,但这似乎是一个不雅的解决方案。有什么built-in解决办法吗?
不,没有办法将几何传播限制在一个方向上。
根据我的经验,解决布局问题几乎总是比关闭传播更好的方法。没有单一的最佳解决方案,这完全取决于您的具体布局需求。
默认情况下,Tkinter 小部件将根据其 children 的大小调整大小(即,Tkinter 不会遵守我的 width
和 height
配置)。我知道使用 parent.pack_propagate(False)
会阻止 parent
的 children 修改其尺寸,但是如果我只想阻止 children 改变一维,允许它修改另一个维度?例如,我如何防止小部件的 children 修改其宽度但允许它更改其高度?
我想出的一个 hack-ish 解决方案是有一个 1px 高的框架和我要求的宽度,并将其添加到 parent,这样可以防止另一个 children 缩小parent 的宽度,但这似乎是一个不雅的解决方案。有什么built-in解决办法吗?
不,没有办法将几何传播限制在一个方向上。
根据我的经验,解决布局问题几乎总是比关闭传播更好的方法。没有单一的最佳解决方案,这完全取决于您的具体布局需求。