Чем отличается padx в Tkinter при использовании в качестве аргумента в виджете и аргумента в функции сетки?
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()
Несмотря на одинаковые значения заполнения,
x
и
y
кнопки имеют одинаковый размер и отображаются на разном расстоянии от левой границы окна. Кроме того, какие единицы
padx
значения?
1 ответ
Посмотри на это:
В
grid(padx=20)
добавляет 20 пикселей слева и справа от кнопки. В
padx=20
который находится внутри конструктора, добавляет 20 пикселей слева и справа от текста внутри кнопки. Поскольку вы не позволяете верхней кнопке расширяться, она центрируется в середине окна. Поскольку эта кнопка меньше (потому что внутри нее меньше текста), похоже, что слева / справа от кнопки больше свободного места.
Если вы разрешите обеим кнопкам расширяться следующим образом:
x.grid(padx=20, sticky="news")
y.grid(padx=20, sticky="news")
Вы увидите, что верхняя кнопка станет того же размера, что и нижняя.