问题描述
我想我对网格的工作方式不了解...
我的问题似乎与此SO问题有关: Python tkinter Text widget fill fixed sized frame using grid
使用功能grid_columnconfigure()
和grid_rowconfigure()
,答案是要赋予项目一定的权重以使其占用更多空间。
下面是一个简单示例的代码。
我要实现的目标是能够指定frame0
的大小,将其粘贴到根窗口的所有侧面,然后将子框架frame1
粘贴到{{ 1}}左,上,右,并在调整应用程序主窗口大小时进行拉伸/收缩。
因此,最初,我希望应用程序以500x350的大小启动。 frame0
会达到自然的高度,并且基本上是500像素宽(减去一点填充)。
acw1668发表评论后,我更新了代码以配置frame1
并将其权重设置为1。现在,Entry的大小可以变化,以占用任何水平空间,就如我所愿。但是,尽管我为root
指定了明确的大小,但GUI仍以“自然”大小启动。我不明白为什么几何管理器不将500x350视为自然尺寸并分配它?
有人能看到如何使初始发射的尺寸达到预期吗?
frame0
解决方法
作为参考,以下是结合了acw1668建议的代码。
GUI现在将以预期的大小启动。尽管您可以强制缩小应用程序窗口,但框架不会缩小到500像素以下(即Entry不会折叠回自然大小),这是一个次要问题。那是一个单独的问题。
我看到整个布局和调整业务规模有些微妙,但我还有路要走。 ;)
希望这个问题对遵循同样的观点的其他人也具有一定的教学意义:
.includes()