В настоящее время я создаю архитектуру представления модели и сталкиваюсь с проблемой. Я не могу найти информацию по всему Интернету.как правильно реализовать разные варианты просмотра одного и того же набора данных
У меня есть один набор сложных данных, что я хочу, чтобы показать пользователю в двух (или более) различных мод:
- полные данные показано
- только выбранные (частично) информацию показано
Способ, которым эти данные печатаются, для меня не имеет значения, но если это поможет, это либо в виде таблицы (основная информация), либо в виде столбца (полная информация). эти две классы исходят из структуры модели/представления QT.
Теперь я хотя о два вариант реализации этого и задаться вопросом, кого я должен использовать
Вариант 1
- Я построю свою структуру данных,
- включить его в пользовательской модели
- специализация (подкласс) для того, чтобы печатать только то, что меня интересует.
Вариант 2
- Я построю свою структуру данных,
- специализироваться своими моделями, чтобы только обеспечить доступ к соответствующим данным
- использование стандартной для печати его на экране.
Я бы честно пошел на вариант 2, но, увидев количество случаев в Интернете, где используется вариант 1, я начал задаваться вопросом, правильно ли я делаю это правильно. (Я не нашел ни одного примера двойной модели данных, когда несколько видов модели выглядят довольно часто)
Размещение данных, относящихся к обработке внутри классов классов, кажется мне неправильным, но дублирование моделей данных приводит к дублированию данные (что также кажется неправильным) или общие данные (а затем модель больше не «удерживает» данные)
Я также посмотрел делегатов QT, но этот класс в основном предназначен для изменения внешнего вида данных. Я не нашел способ использовать делегаты для игнорирования данных, которые не имеют отношения к одному виду.
Его важно, что вы подразумеваете под «выбранными данными». Вы хотите оставить некоторые столбцы из всех записей, оставив некоторые строки или и то, и другое? – RobbieE
С точки зрения QT это не строка или столбец, а дочерние элементы, которые необходимо отфильтровать. Строка строки, если вы предпочитаете, с данными связанных столбцов. –