我知道这是一个太琐碎的问题,但是我是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/

10-12 18:21