Russian Qt Forum

Qt => Model-View (MV) => Тема начата: m.lyakishev от Декабрь 08, 2010, 03:07



Название: Как лучше реализовать поставленную задачу?
Отправлено: m.lyakishev от Декабрь 08, 2010, 03:07
Всем доброго времени суток.

Хотелось бы реализовать следующую вещь:

Есть объекты, имеющие две группы параметров.
И нужно, чтобы в списке отображался набор объектов(их имена), а каждая из групп параметров выводилась в отдельную таблицу.
Какой объект выделяешь в списке, того объекта параметры и отображаются в таблицах.

При этом, данные могут меняться только через таблицы и список(имя объекта поменять).

Я сколько думал, придумал пока только создать модель через QAbstractItemModel. Создаем иерархическую структуру, где
каждый "объект" - отдельная ветка. Потом через QListView( через setModelColumn() ) отображаем имена "объектов", а через
QTableView( через setRootIndex() ) группы параметров. Когда в списке будет выделяться новый объект, по сигналу будет
передаваться индекс для таблиц, чтобы нужные данные отображались.

Хотелось бы услышать мнения о целесообразности данного подхода, а также понять, нельзя ли это все сделать проще, без
создания абстрактной модели. Ведь тут обычная древовидная структура, как я понимаю. Отображения тоже весьма стандартны..

Всем спасибо за ответы!


Название: Re: Как лучше реализовать поставленную задачу?
Отправлено: _govorilka от Декабрь 08, 2010, 09:56
Посмотри описание QStandardItemModel. Возможно этого класса тебе хватит.

Твоя задача скорее всего на тему баз данных. Посмотри пример /examples/sql/masterdetail/. Он сильно напоминает то, что ты пытаешь сделать.


Название: Re: Как лучше реализовать поставленную задачу?
Отправлено: m.lyakishev от Декабрь 09, 2010, 02:34
О! Спасибо огромное за идею, использование баз данных гораздо лучше здесь подходит!
Еще раз спасибо!