Russian Qt Forum
Ноябрь 24, 2024, 10:23 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: 1 [2]   Вниз
  Печать  
Автор Тема: Помогите разобраться с MVC. Простой пример.  (Прочитано 14494 раз)
kuzulis
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2812


Просмотр профиля
« Ответ #15 : Январь 15, 2010, 01:10 »

Бррр.... ничо не понял.. пора спать Улыбающийся
Записан

ArchLinux x86_64 / Win10 64 bit
MoPDoBoPoT
Гость
« Ответ #16 : Январь 15, 2010, 14:18 »

Я у себя предполагал что оно будет работать так:
1. Имеется класс А - в котором находится массив с данными.
2. При запуске приложения - должен начать работать некий алгоритм (процесс работы), который меняет (обновляет) данные в этом массиве в течении всего периода работы приложения.
3. Имеется класс Б - это типа модель, которая должна чисто для GUI показывать (отображать) изменения этих данных в процессе работы приложения...

Так вот, теперь я опять запутался:
Цитировать
Кроме того внутри обёртки перед изменением самих данных модель обязана сигнализировать, что вот сейчас данные ещё старые, но я их сейчас поменяю QAbstractItemModel::beginInsertRows()/QAbstractItemModel::endInsertRows() + сопутствующие методы
у меня модель (допустим для простоты) не меняет данные - она их только отображает... т.е. это класс А (источник данных) должен сигнализировать классу Б (модели) о том. что данные поменялись и следовательно модель должна обновить значения в QTableView.

т.е. путаница и нестыковка получается или я недопонял ничего Грустный
Как уже ранее говорилось, модель - обертка над некой структурой данных, которая предоставляет интерфейс для чтения/модификации данных структуры. Что из себя представляет эта самая структура для внешнего мира не важно, потому как внешний мир работает с этой структурой через обертку (модель) с помощью определенного интерфейса (предоставленного набора методов). Так вот, "отслеживание" измений данных получается за счет использования специально предназначенных для этого методов (они отсылают необходимые сигналы).
Я надеюсь ты теперь понял то, что изменение данных структуры вне модели - это не комильфо.
В общем, в классе А надо работать с моделью (классом В  Улыбающийся), а не напрямую с массивом.
Записан
Страниц: 1 [2]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.047 секунд. Запросов: 22.