Russian Qt Forum
Ноябрь 15, 2024, 07:56
Добро пожаловать,
Гость
. Пожалуйста,
войдите
или
зарегистрируйтесь
.
Вам не пришло
письмо с кодом активации?
1 час
1 день
1 неделя
1 месяц
Навсегда
Войти
Начало
Форум
WIKI (Вики)
FAQ
Помощь
Поиск
Войти
Регистрация
Russian Qt Forum
>
Forum
>
Qt
>
Model-View (MV)
>
Одна модель, два представления
Страниц: [
1
]
Вниз
« предыдущая тема
следующая тема »
Печать
Автор
Тема: Одна модель, два представления (Прочитано 4715 раз)
UVV
Гость
Одна модель, два представления
«
:
Февраль 18, 2015, 17:01 »
Привет.
Есть один набор данных. В одном view доступна кнопка clear. Как лучше обработать этот случай и очистить только этот view, но не оба?
Записан
Old
Джедай : наставник для всех
Online
Сообщений: 4350
Re: Одна модель, два представления
«
Ответ #1 :
Февраль 18, 2015, 17:39 »
Цитата: Vyacheslav Yurkov от Февраль 18, 2015, 17:01
Привет.
Есть один набор данных. В одном view доступна кнопка clear. Как лучше обработать этот случай и очистить только этот view, но не оба?
Две модели с одинаковыми наборами данных.
Записан
UVV
Гость
Re: Одна модель, два представления
«
Ответ #2 :
Февраль 18, 2015, 17:40 »
Тогда получается дублирование данных будет..
Записан
Old
Джедай : наставник для всех
Online
Сообщений: 4350
Re: Одна модель, два представления
«
Ответ #3 :
Февраль 18, 2015, 17:45 »
Цитата: Vyacheslav Yurkov от Февраль 18, 2015, 17:40
Тогда получается дублирование данных будет..
А как по другому, если вы можете в одном из вью изменять свой набор и это не должно сказаться на второй набор данных?
Можно вначале хранить один набор данных на две модели, а только при изменении набора, предварительно делать копию и менять её.
Записан
UVV
Гость
Re: Одна модель, два представления
«
Ответ #4 :
Февраль 18, 2015, 17:48 »
У меня уже есть атрибут visible, думаю просто скрыть их в "очищенном" view. Тем более данные - это просто circular buffer, т.е. скрытые всё равно скоро уйдут и не будут занимать место. Не сильно костыльное решение?
Записан
vipet
Бывалый
Offline
Сообщений: 452
Re: Одна модель, два представления
«
Ответ #5 :
Февраль 18, 2015, 17:54 »
Имеем одну модель с данными (или доступом к ним).
Первая вьюха подключена к ней напрямую.
Данные, каждый айтем имеет некий доп. флаг.
Вторая вьюха, кот. может очищаться, подключена к нашей модели через QSortFilterProxyModel, которая фильтрует по наличию флага.
Записан
UVV
Гость
Re: Одна модель, два представления
«
Ответ #6 :
Февраль 18, 2015, 17:56 »
Цитата: vipet от Февраль 18, 2015, 17:54
Имеем одну модель с данными (или доступом к ним).
Первая вьюха подключена к ней напрямую.
Данные, каждый айтем имеет некий доп. флаг.
Вторая вьюха, кот. может очищаться, подключена к нашей модели через QSortFilterProxyModel, которая фильтрует по наличию флага.
Да, вот как ты описал, так и собираюсь сделать. Я про что и спрашиваю. Норм решение, не костыльненько?
Записан
vipet
Бывалый
Offline
Сообщений: 452
Re: Одна модель, два представления
«
Ответ #7 :
Февраль 18, 2015, 20:38 »
в рамках описанного объема задачи предложенное решение офигенно
Записан
Страниц: [
1
]
Вверх
Печать
« предыдущая тема
следующая тема »
Перейти в:
Пожалуйста, выберите назначение:
-----------------------------
Qt
-----------------------------
=> Вопросы новичков
=> Уроки и статьи
=> Установка, сборка, отладка, тестирование
=> Общие вопросы
=> Пользовательский интерфейс (GUI)
=> Qt Quick
=> Model-View (MV)
=> Базы данных
=> Работа с сетью
=> Многопоточное программирование, процессы
=> Мультимедиа
=> 2D и 3D графика
=> OpenGL
=> Печать
=> Интернационализация, локализация
=> QSS
=> XML
=> Qt Script, QtWebKit
=> ActiveX
=> Qt Embedded
=> Дополнительные компоненты
=> Кладовая готовых решений
=> Вклад сообщества в Qt
=> Qt-инструментарий
-----------------------------
Программирование
-----------------------------
=> Общий
=> С/C++
=> Python
=> Алгоритмы
=> Базы данных
=> Разработка игр
-----------------------------
Компиляторы и платформы
-----------------------------
=> Linux
=> Windows
=> Mac OS X
=> Компиляторы
===> Visual C++
-----------------------------
Разное
-----------------------------
=> Новости
===> Новости Qt сообщества
===> Новости IT сферы
=> Говорилка
=> Юмор
=> Объявления
Загружается...