Атрибут sticky применяется к ячейке, в которой находится виджет, а не ко всей сетке или всему окну.Итак, виджет привязан к nw-углу его ячейки, просто вы не можете сказать, потому что ячейка точно такой же ширины, как кнопка.
Поскольку вы размещаетекнопка в верхней правой ячейке (строка 1, столбец 2), но вы говорите, что хотите ее в левом верхнем углу (всего окна?), трудно точно знать, что вы хотите.Не зная, чего вы пытаетесь достичь, трудно дать какие-либо рекомендации.
Самый простой способ освоить менеджер компоновки сетки - это бумага и карандаш.Возьмите графическую бумагу с сеткой и нарисуйте на ней свои виджеты.Тогда становится очевидным, куда поместить ваши виджеты.
Вам также необходимо узнать о командах rowconfigure
и columnconfigure
, особенно в отношении атрибута weight
.С помощью этого атрибута вы можете определить, какие строки и столбцы растут и уменьшаются, чтобы занять дополнительное пространство.Также полезно знать, что вы можете применять эти атрибуты к пустым строкам и столбцам.Это полезно, если вы хотите, чтобы ваши внутренние виджеты оставались одинаковыми по размеру, и чтобы любые дополнительные элементы применялись к краям вашего графического интерфейса (как правило, бесполезно, хотя иногда это так).
В соответствии с грубым практическим правилом, каждое окно должно иметь один "основной" виджет - тот, который доминирует в пользовательском интерфейсе.Обычно это виджет холста или текста, но это не обязательно.Найдите этот виджет и дайте строке и столбцу его вес 1 (один), чтобы он увеличивался и уменьшался по мере изменения размера окна пользователем.В вашем случае это будет холст в строке 2, столбец 1.