当前位置:  开发笔记 > 编程语言 > 正文

如何阻止Tkinter Frame缩小以适应其内容?

如何解决《如何阻止TkinterFrame缩小以适应其内容?》经验,为你挑选了1个好方法。

这是给我带来麻烦的代码.

f = Frame(root, blue")
f.pack(fill=X, expand=True)

l = Label(f, text="hi", red", fg="white")
l.pack()

如果我使用Label注释掉行,则Frame会以正确的宽度显示.但是,添加Label似乎会将Frame缩小到Label的大小.有没有办法防止这种情况发生?



1> Bryan Oakley..:

默认情况下,tk帧缩小或增长以适应其内容,这是您想要99%的时间.描述此特征的术语是"几何传播".有一个命令可以在使用时打开或关闭几何体传播pack(和类似的一样grid).

由于您使用的是pack,语法如下:

f.pack_propagate(0)

或者pack,取决于您实际想要影响的小部件.但是,由于您没有给出框架高度,因此它的默认高度为1像素,因此您仍然可能看不到内部窗口小部件.为了获得您想要的效果,您需要为包含框架提供宽度和高度.

话虽这么说,绝大多数时候你应该让tkinter计算大小.当您打开几何传播了你的GUI将不会对分辨率的变化,字体变化等Tkinter的几何管理者很好地响应(grid,root.pack_propagate(0)pack)是非常强大.学会利用这种力量.

推荐阅读
yzh148448
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有