我知道这是一个太琐碎的问题,但是我是python的新手,我才刚刚开始使用tkinter
模块。实际上,我到处都在查找它,但找不到满意的答案。我发现以下内容:
问题是,这两个听起来或多或少相同。我什至通过在fill
的4个值和expand
的2个值之间切换来尝试一些示例,但是在2或3种情况下,或多或少获得了相同的输出,因此我有了这个查询。在这方面的任何帮助将不胜感激。提前致谢!
最佳答案
从effbot:
因此fill
告诉窗口小部件在指定的方向上增加其可用的空间,expand
告诉主服务器占用未分配给任何窗口小部件的任何空间,并将其分配给expand
值非零的所有窗口小部件。
运行此示例时,区别变得很明显:
import Tkinter as tk
root = tk.Tk()
root.geometry('200x200+200+200')
tk.Label(root, text='Label', bg='green').pack(expand=1, fill=tk.Y)
tk.Label(root, text='Label2', bg='red').pack(fill=tk.BOTH)
root.mainloop()
您可以看到带有expand=1
的标签被分配了尽可能多的空间,但是仅沿指定的方向Y占用。带有
fill=tk.BOTH
的标签会在两个方向上展开,但可用空间较少。关于python - Tkinter Pack方法的 “fill”和 “expand”选项之间的区别,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/28089942/