Russian Qt Forum

Qt => Model-View (MV) => Тема начата: twister9893 от Июнь 25, 2016, 13:55



Название: Одна модель, два представления
Отправлено: twister9893 от Июнь 25, 2016, 13:55
Всем доброго дня. Прошу наставить на путь истинный.
Есть одна модель, которая по сути является оберткой для нескольких XML (на картинке в левой части файлы - элементы дочерние пункту "Абоненты"), в которых лежат известные структуры данных.
Правая же часть должна отобразить выделенную структуру данных (в дереве слева это элементы с типом rule и packet).
Так вот, как же дать понять правой части что нужно брать из модели не все, а только то что выделено слева.
Подозреваю, что поможет QAbstractProxyModel, но как - не знаю  :)


Название: Re: Одна модель, два представления
Отправлено: Bepec от Июнь 25, 2016, 14:28
Второе представление должно запрашивать данные выборочно.

PS мне на ум приходит только вторая модель с "временными" данными.


Название: Re: Одна модель, два представления
Отправлено: Racheengel от Июнь 25, 2016, 17:44
а QModelIndex и Tree Model уже не модно? :)


Название: Re: Одна модель, два представления
Отправлено: twister9893 от Июнь 25, 2016, 17:58
а QModelIndex и Tree Model уже не модно? :)

В качестве модели использую свою реализацию QAbstractItemModel, и в QTreeView все отображается как надо.
А вопрос заключается в том как используя ту же модель заставить QTableView(справа на картинке) показывать данные только из выделенного элемента в дереве. Только отдельная модель поможет?


Название: Re: Одна модель, два представления
Отправлено: Igors от Июнь 26, 2016, 05:03
Почему "одна модель"? Число колонок разное - значит 2 разные модели, просто использующие одни и те же базовые данные


Название: Re: Одна модель, два представления
Отправлено: Bepec от Июнь 26, 2016, 10:39
Чтобы реализовать то, что вы хотите, необходимо написать свою модель с данным функционалом(притворяться что модель разная в зависимости от запрашивающего), ну или написать свой view.
Или плюнуть на эту фигню и тупо передавать нужные данные в новую модель :D


Название: Re: Одна модель, два представления
Отправлено: twister9893 от Июнь 26, 2016, 12:50
Всем спасибо, действительно наверное проще две модели сделать :)