Russian Qt Forum

Qt => Model-View (MV) => Тема начата: UVV от Октябрь 14, 2010, 11:21



Название: 2 модели на основе QAbstractTableModel
Отправлено: UVV от Октябрь 14, 2010, 11:21
Привет.
Есть 2 модели на основе QAbstractTableModel. Модели используют одни и те же данные, но одна отображает
данные в bin, вторая - в hex.
Проблема подобна той, что в соседнем посте - при обновлении данных в одной модели, нужно как-то уведомить вторую модель.
Я пока сделал workaround, связал dataChanged() одной модели с reset() второй модели.
Посоветовали решение: сделать одну модель и 2 прокси модели.
Это довольно трудозатратно, поэтому вопрос: стоит ли оно того?
Пока вижу аргументы за такие:
1) Позволит более правильно реализовать данную задачу.
2) Делать reset() каждый раз при обновлении данных - неэффективно
Аргумент против:
1) Только трудозатраты на реализацию.


Название: Re: 2 модели на основе QAbstractTableModel
Отправлено: Kolobok от Октябрь 14, 2010, 14:38
Модели не отображают данные. Этим занимаются делегаты. Если структура выводимых данных одинакова, то прокси не нужны. Достаточно использовать разные делегаты.


Название: Re: 2 модели на основе QAbstractTableModel
Отправлено: UVV от Октябрь 14, 2010, 14:42
В каком плане структура?
Если я правильно понимаю, то структура как раз разная, в одной модели в два раза меньше столбцов, соответственно в два раза больше строк.


Название: Re: 2 модели на основе QAbstractTableModel
Отправлено: Kolobok от Октябрь 14, 2010, 14:50
Ну тогда с прокси. И не надо их бояться. :)


Название: Re: 2 модели на основе QAbstractTableModel
Отправлено: UVV от Октябрь 14, 2010, 15:05
Ну тогда с прокси. И не надо их бояться. :)

Да не боюсь уж =)
Просто к одной model/view редактирование прикручено, поэтому перелопачивать много ))