LINUX.ORG.RU

Организация хранения данных в Qt приложении

 


0

1

В общем есть QTreeView с каждым элементов которого должно быть связано около десятка QTableView.

Как правильно будет хранить данные в такой взаимосвязанной системе?

Есть пара вариантов с хранением моделей каждой таблицы для каждого элемента в специальном массиве и ссылаться на элемент этого массива через поле данных элемента QTreeView.

★★★★★

В общем есть QTreeView с каждым элементов которого должно быть связано около десятка QTableView.

Можно поподробнее задачку.

UVV ★★★★★
()
Ответ на: комментарий от UVV

Хех, она у мня так в голове и выглядит.
По сути есть дерево элементов. У каждого элемента есть свойства редактируемые через набор таблиц.
Я подготовил форму с таблицами, но теперь надо как-то организовать подгрузку данных относящиеся к конкретному элементу в эти таблицы.(например это нужно при редактирование)

deterok ★★★★★
() автор топика

Не путай представление QTreeView и модель данных, которую это представление отображает.

Можно сделать так: у каждого QModelIndex в QTreeView есть дети, описывающие его параметры, вот они-то и отображаются в QTableView.

grondek
()
Ответ на: комментарий от grondek

А если таблиц овер дофига связанных с конкретным элементом?

deterok ★★★★★
() автор топика
Ответ на: комментарий от grondek

Т.е. мне надо не всех детей в одну таблицу, а всех по разным таблицам.

deterok ★★★★★
() автор топика
Ответ на: комментарий от deterok

Я так понимаю, что в твоих вью (дерево, таблицы) будут отображаться одни и те же данные, но с разных сторон. Это ну просто классический пример MVC, и кутешная его реализация задокументирована вдоль и поперек:

http://qt-project.org/doc/qt-4.8/model-view-programming.html

yoghurt ★★★★★
()
Ответ на: комментарий от yoghurt

Нет, дерево просто отображает наименование и пару еще сторонних параметров(например полноту данных).
А вот таблицы будут нести уже расчетные данные этого элемента.

deterok ★★★★★
() автор топика
Ответ на: комментарий от yoghurt

В общем логика какая:
Пользователь добавляет элементы в дерево и при каждом добавление открывается QWizard с десятком страниц-таблиц.
Таким макаром может быть заполнено куча элементов. По сути каждый элемент дерева - это олицетворение набора таблиц.

deterok ★★★★★
() автор топика
Ответ на: комментарий от deterok

Попробуй мыслить не виджетами, а данными. БД изучал в институте? Так вот у тебя есть данные, как-то уложенные в модель, ты их просто по-разному отображаешь.

Там уже выше подсказывали - делаешь одну модель и прокси под каждое представление.

grondek
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.