Делаю я в своем проекте переход со связки
QTableView-QAbstractTableModel
на связку
QTableView-QSortFilterProxyModel-QAbstractTableModel
то есть, внедряю промежуточную прокси модель.
Проблема в том, что раньше, когда у меня был просто класс recordSourceModel (унаследованный от QAbstractTableModel), то при изменении числа видимых колонок в этой модели, вид сразу начинал отображать новые колонки. Для этого нужно было только "передернуть" модель, вот так:
setModel(NULL);
setModel(recordSourceModel);
Теперь, у меня есть класс recordProxyModel (унаследованный от QSortFilterProxyModel). Он сейчас практически пустой - есть только пустые конструктор и деструктор. По идее, он должен тупо ретранслировать все данные recordSourceModel, потому что ему задана эта модель через setSourceModel(recordSourceModel).
И recordProxyModel действительно ретранслирует все данные recordSourceModel. И измененное число колонок тоже.
Но вид не отображает новое число колонок при их изменении. Не помогает и "передергивание" модели:
setModel(NULL);
setModel(recordProxyModel);
Я даже откатился назад, перепроверил с recordSourceModel - изменение числа колонок отображается в виде. Но когда настраиваешь вид на recordProxyModel, то изменение числа колонок на вид никак не влияют.
Что делать, как исправить?