Ну так соберите их из нескольких виджетов Listbox :)
А в чём преимущеста такого подхода? Строки таблицы не расползутся из-ра разной величины ячеек? Я сейчас компоную Entry и Canvas'ы с помощью .grid(), который естественным путём задаёт высоту строк, так что если вддруг одна ячейка расширится по высоте, то все остальные ячейки этой строки - тоже.
Я Вам об этом написал еще во втором ответе
Да и заметил и полез эксперементировать.
Дело в том, что у меня в программе есть минимум три потока, и кроме gui объект конфига используется ещё парой других потоков и классов. Я подумал, что может быть эти другие классы не освобождают конфиг, и поэтому не вызывается деструктор (опять же:
возможно ли такое? Это нормальное поведение объектов в Python?)
Я создал один объект конфига чисто для gui, ещё один - для остальных классов и потоков, попутно обнаружил такую проблему, что лучше иметь не более одного потока на класс, иначе деструктор класса (я говорю уже про другой класс, не про Config) вызывается дважды, по разу от потока, его использующего!
В общем такой подход сработал - деструктор вызвался.
Я снова всё перевёл на единый объект config и деструктор вновь сработал. Единственное что принципиально поменялось с состоянием кода на начало создания этой темы - так это рекомендованная вами замена root.quit() на root.destroy(). Но дело в том, что я это уже пробовал, ещё до темы. И так не работало. Странно.
Ну пока ладно с этим, сейчас меня интересует проблема №2.