Russian Qt Forum

Qt => Model-View (MV) => Тема начата: Павел_F. от Январь 27, 2010, 08:27



Название: Как, при добавлении строки в модель, обновить содержимое прокси моделей?
Отправлено: Павел_F. от Январь 27, 2010, 08:27
Картина такая. Есть изначальная модель с данными( унаследована от QAbstractTableModel), есть три прокси модели( QSortFilterProxyModel). Показывается это все в QTableView. Когда добавляется строка в изначальную модель то в прокси моделях эта строка не появляется. Что я забыл?


Название: Re: Как, при добавлении строки в модель, обновить содержимое прокси моделей?
Отправлено: lit-uriy от Январь 27, 2010, 08:32
почитай тут: Вставка и удаление строк (http://www.doc.crossplatform.ru/qt/4.4.3/model-view-creating-models.html#inserting-and-removing-rows) там указано как уведомлять другие компоненты при именении измерений модели

Также не лишним будет прочесть Создание собственных моделей (http://www.doc.crossplatform.ru/qt/4.4.3/model-view-model-subclassing.html)


Название: Re: Как, при добавлении строки в модель, обновить содержимое прокси моделей?
Отправлено: Павел_F. от Январь 27, 2010, 08:42
Вообще мне надо было для прокси моделей задать setDynamicSortFilter( true) и все, нашел уже. А вот по ссылкам, кстати, этого нет.


Название: Re: Как, при добавлении строки в модель, обновить содержимое прокси моделей?
Отправлено: DS_tm от Январь 27, 2010, 11:13
Вопрос автору, зачем используете 3 прокси модели? Неужели одной не хватает?


Название: Re: Как, при добавлении строки в модель, обновить содержимое прокси моделей?
Отправлено: Павел_F. от Январь 27, 2010, 11:27
Одной не хватает. Ну как... Она одна, три экземпляра одной. Показывают разные столбцы/строки в зависимости от их содержания.


Название: Re: Как, при добавлении строки в модель, обновить содержимое прокси моделей?
Отправлено: DS_tm от Январь 27, 2010, 11:44
Наследуем свою, переопределяем функции filterAcceptsRow\filterAcceptsColumn и используем один экземпляр.


Название: Re: Как, при добавлении строки в модель, обновить содержимое прокси моделей?
Отправлено: Павел_F. от Январь 27, 2010, 11:49
Они все три показываются на экране одновременно.


Название: Re: Как, при добавлении строки в модель, обновить содержимое прокси моделей?
Отправлено: DS_tm от Январь 27, 2010, 11:52
3 вьюхи к одной модели?


Название: Re: Как, при добавлении строки в модель, обновить содержимое прокси моделей?
Отправлено: Павел_F. от Январь 27, 2010, 11:55
Три вьехи для трех кусков одной модели... Именно так. Спросите как так и зачем? Спросите лучше у моего начальства, могу даже телефончик дать))) У меня тоже есть большие сомнения по поводу этого интерфейса.


Название: Re: Как, при добавлении строки в модель, обновить содержимое прокси моделей?
Отправлено: DS_tm от Январь 27, 2010, 12:00
Не, спасибо, я просто уточнил). Просто проходило недоавно обсуждение по поводу прокси и их количества, и автор той темы навешал 3 прокси, по очереди, на одну модель, что на мой взгляд совсем излишне. В Вашем же случае мне все нравиться)