Ни один по сути не лучше, чем другой. У каждого есть свои сильные и слабые стороны. Узнайте, что это такое, и выбор того, что использовать, становится очевидным.
grid
значительно проще в использовании, если вам нужно выложить вещи в сетку. pack
обычно проще использовать, если все, что вам нужно сделать, это поместить несколько виджетов в одну строку или один столбец. Между ними много серых областей, где ни один не обязательно лучше другого.
Еще одна вещь, которую следует учитывать, это то, что вы сказали в своем вопросе: если вы хотите показывать и скрывать виджеты во время выполнения, grid
, вероятно, является лучшим выбором из-за метода grid_remove
, который запоминает значения всех из настроенных атрибутов в случае, если вы хотите повторно добавить виджет.
Лично я всегда выбираю pack
, потому что я впервые выучил Tk, когда не было команды grid
. Если я не могу сделать это легко в pack
, или если я очень четко разложил вещи в сетке, я буду использовать grid
.