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

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

Страниц: [1]   Вниз
  Печать  
Автор Тема: Помогите построить правильную архитектуру модели  (Прочитано 2051 раз)
JamS007
Гость
« : Февраль 11, 2011, 20:25 »

Доброго времени суток.

Помогите, пожалуйста, построить модель как во вложении. Попробую пояснить что требуется: на форме будет 3 таблицы, каждая из которых будет отображать часть информации, которая является общей для всех. К примеру - школьный журнал, слева 2 колонки с номерами учеников и их фамилиями, сверху строка с датами, а на их пересечении - оценка, требуется создать что-то подобное.

Еще нужно сделать общее для всех выделение, то есть, при выделении столбца дат, нужно выделять также столбец с оценками, а при выделении строки с учеником - выделять строку с оценкой.

В примерах в ассистенте есть пример с выделением, но там используется одна общая модель и похожие по типу представления, поэтому, думаю, мне это не подходит, но я еще не уверен.

Еще такой вопрос: есть ли способ как-то указать в виджете представления строки (столбцы, или и то и другое вместе) которые будут отображаться из модели, и таким способом отображать разные данные из одной модели, но в разных представлениях? И чем мне это грозит?

Прошу, подскажите куда копать, с моделями еще не работал. Спасибо.
Записан
trot
Гость
« Ответ #1 : Февраль 12, 2011, 00:08 »

Предлагается следующий вариант. Создать класс (А), который хранит данные в виде - таблица. Этот класс будет генерить три модели (м1,м2,м3) для каждого представления (п1,п2,п3). Создать класс (к) курсора, который будет хранить указатель на выбранную запись в классе А. Этот указатель может перемещать, т.е. то или иное выделение строки или столбца, любое представление. После перемещения указателя остальные два представления синхронизируют свое состояние (типичный паттерн издатель-подписчик). 
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


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