Чем отличается 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")

Вы увидите, что верхняя кнопка станет того же размера, что и нижняя.

Другие вопросы по тегам