TL; DR:
Текстовый виджет расширяется дальше указанного столбца, строки строки вызова grid()
.Единственным разрешением является изменение атрибутов .width
и .height
на что-то маленькое и принудительное расширение и заполнение флага привязки вызова с использованием 'nsew'
.
Фон:
Виджет «Текст» вызвал у меня некоторую путаницу. Возьмем, к примеру, следующее:
root = Tk()
root.geometry('400x400')
root.grid_columnconfigure(0, weight = 1)
root.grid_columnconfigure(1, weight = 1)
root.grid_rowconfigure(0, weight = 1)
root.grid_rowconfigure(1, weight = 1)
b = Button(root)
b.grid(column = 0, row = 0, sticky = 'nsew')
t = Text(root)
t.grid(column = 1, row = 1, sticky = 'nsew')
Учитывая это, у меня должно быть окно размером 400x400, например:
+-------+-------+
| | |
| b | |
| | |
+-------+-------+
| | |
| | t |
| | |
+-------+-------+
Нов конечном итоге текстовый виджет выходит далеко за нижний правый столбец, строка:
+---+-----------+
| b | |
+---+ |
| | t |
| | |
| | |
| | |
+---+-----------+
Единственный способ решить эту проблему - изменить текстовый виджет следующим образом:
t = Text(root, height = 1, width = 1)
Затем липкий вызов расширяет виджет, чтобы он помещался только в столбце, строке сетки.Однако это выглядит как дополнительный шаг, который мне не нужно предпринимать, хотя виджет «Текст» по умолчанию равен .width
и .height
, как и все остальные виджеты.
Вопрос: Почему виджет Текст расширяется за пределы указанного столбца, строки сетки?