python – TKinter – 使用网格布局在窗体中“粘贴”的小部件
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了python – TKinter – 使用网格布局在窗体中“粘贴”的小部件,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1282字,纯文字阅读大概需要2分钟。
内容图文
![python – TKinter – 使用网格布局在窗体中“粘贴”的小部件](/upload/InfoBanner/zyjiaocheng/704/ad58a01ee1a147adbc2425b059d37626.jpg)
我在TKinter中构建了一个相当复杂的GUI,所以很自然地使用了.grid函数.
我已经将我的一些小部件组合到框架中以使它们更容易处理,但出于某种原因,当我在框架中使用带有小部件的.grid时,粘性属性似乎不起作用 – 我的小部件不会填满整个框架.
例:
f3 = tk.Frame(self, borderwidth=1, relief="ridge")
f3.grid(row=0, column=0, sticky="NS")
tk.Label(f3, text="Site List").grid(in_=f3, row=0, column=0)
self.sitelist = tk.Listbox(f3)
self.sitelist.grid(in_=f3, row=1, column=0, sticky="NS")
在上面的代码中,框架f3填充了我的根小部件的0,0单元格中的空间,但是列表框没有填充框架中的所有空间,即使我已经要求它是粘性的“NS”.
如果将列表框放在根小部件中的0,0那么它会拉伸并填充所有空间.如果它在框架中,它表现不佳.
任何人都可以解释如何解决这个问题?
我认为使用框架会简化我的布局,但事实并非如此!
干杯.
克里斯
解决方法:
您需要提供一个或多个列和行“权重”.通常,您将只有一行和一列,权重为1(默认值为零).当调整包含小部件或窗口的大小时,任何具有权重的行或列都将展开和收缩.
如果多个行或多个列具有权重,则权重描述它们扩展的比例.例如,如果一列的权重为2而另一列的权重为1,那么两列的权重将扩展为具有1的权重的两倍.
您可以使用grid_rowconfigure和grid_columnconfigure选项将权重分配给包含的小部件:
f3.grid_rowconfigure(0, weight=1)
f3.grid_columnconfigure(0, weight=1)
有关权重的简要说明,请参阅tkdocs.com网站上网格教程中标题为Handling Resize的部分.
内容总结
以上是互联网集市为您收集整理的python – TKinter – 使用网格布局在窗体中“粘贴”的小部件全部内容,希望文章能够帮你解决python – TKinter – 使用网格布局在窗体中“粘贴”的小部件所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。