Какова роль «мастера» в виджете tkinter? - PullRequest
0 голосов
/ 17 ноября 2018

Я работал в предположении, что мастер виджета является геометрическим контейнером виджета.Но недавно я обнаружил, что .place, .pack и .grid все принимают опцию in_, которая позволяет вам position (то есть .place, .pack или .grid, I 'используя position в смысле вызова любого из этих методов) виджет внутри другого контейнера.

В документации неточно используются master, parent и container.Раньше я думал, что все они имеют в виду одно и то же, но ясно, что это не так.

  • Что-то передано - или оставлено по умолчанию - в качестве первого аргумента для конструктора виджета.Давайте назовем это что-то master . Мастер определяется во время создания и не может быть изменен .

  • Виджет отображается внутри его контейнера .Контейнер по умолчанию - это ведущий виджет, но это может быть любой виджет в цепочке ведущий-ведомый между хозяином виджета и корнем, потому что, когда мы (пере) позиционируем виджет, опция in_ может быть предоставлено, что (пере) определяет контейнер виджета. Контейнер определяется после создания виджета и может быть изменен с помощью reposition .

Я считаю, что эти утверждения верны.Но если это так, если можно поместить виджет в другое место, чем в его мастер, то что делает мастер (кроме предоставления контейнера по умолчанию)?Можно ли оставить мастер неуказанным в каждом виджете (что сделает root=Tk() мастером каждого виджета) и просто использовать in_ для определения их контейнеров?

...