Какова стандартная практика сохранения ширины столбцов в QTableView, в которой определенные столбцы скрыты/удалены с помощью QSortFilterProxyModel (в произвольном порядке)? Обратите внимание, что я говорю о том, чтобы они были скрыты и не скрыты в одном экземпляре.
Я пробовал несколько способов (все уродливые), чтобы заставить его работать. Наверняка я что-то делаю не так.
Я просмотрел QHeaderView::saveState() и QHeaderView::restoreState(), но если я что-то не упустил, это действительно хорошо только для сохранения от выключения до запуска. Как только столбцы скрыты и отображены в другом порядке, это прерывается.
Модель QSortFilterProxyModel отлично работает с использованием filterAcceptsColumn(). Предостережение заключается в том, что filterAcceptsColumn() возвращает true для столбца, который ранее возвращал false. Я запускаю invalidateFilter(), и он отображается в QTableView. Однако QTableView использует некоторое значение по умолчанию (кажется, 100) для ширины столбца вместо ширины, которая была до того, как QSortFilterProxyModel скрыл столбец.
Идеи?