Я работал в предположении, что мастер виджета является геометрическим контейнером виджета.Но недавно я обнаружил, что .place, .pack и .grid все принимают опцию in_
, которая позволяет вам position (то есть .place
, .pack
или .grid
, I 'используя position в смысле вызова любого из этих методов) виджет внутри другого контейнера.
В документации неточно используются master, parent и container.Раньше я думал, что все они имеют в виду одно и то же, но ясно, что это не так.
Что-то передано - или оставлено по умолчанию - в качестве первого аргумента для конструктора виджета.Давайте назовем это что-то master . Мастер определяется во время создания и не может быть изменен .
Виджет отображается внутри его контейнера .Контейнер по умолчанию - это ведущий виджет, но это может быть любой виджет в цепочке ведущий-ведомый между хозяином виджета и корнем, потому что, когда мы (пере) позиционируем виджет, опция in_
может быть предоставлено, что (пере) определяет контейнер виджета. Контейнер определяется после создания виджета и может быть изменен с помощью reposition .
Я считаю, что эти утверждения верны.Но если это так, если можно поместить виджет в другое место, чем в его мастер, то что делает мастер (кроме предоставления контейнера по умолчанию)?Можно ли оставить мастер неуказанным в каждом виджете (что сделает root=Tk()
мастером каждого виджета) и просто использовать in_
для определения их контейнеров?