在 Tkinter 中,padx 在小部件中用作参数和在网格函数中用作参数时有何不同?

In Tkinter, How does padx differ when used as argument within a widget and an argument in the grid function?

from tkinter import *
window = Tk()

x = Button(text="a", padx=20)
y = Button(text="aaaaa", padx=20)

x.grid(padx=20)
y.grid(padx=20)


window.mainloop()

尽管具有相同的填充值,但 xy 按钮具有相同的大小并且显示在距 window 左边框不同的距离处。 此外,padx 值的单位是什么?

看看这个:

grid(padx=20) 向按钮的左侧和右侧添加 20 个像素。构造函数内的 padx=20 向按钮内文本的左侧和右侧添加 20 个像素。由于您不允许顶部按钮展开,它会在 window 的中间居中。由于该按钮较小(因为它里面的文本较少),看起来按钮 left/right 的 space 有更多空闲

如果您允许两个按钮像这样展开:

x.grid(padx=20, sticky="news")
y.grid(padx=20, sticky="news")

您会看到顶部按钮的大小与底部按钮的大小相同。