crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

> QAbstarctItemModel + QTreeView, Как заполнить модель своими данными и прикрутить к представлению?
Гость_Гость_*
сообщение 24.7.2008, 21:32
Сообщение #1





Гости








    


Заранее спасибо всем тем, кто тему открыл.

Честно говоря, английские доки курить уже сил нет, запутался :)

Вопрос вот в чем: мне нужно отобразить несложное дерево. Изначально оно генерируется и хранится в написанном мною классе SimpeTree.
Каждый элемент имеет указатель на первого потомка и на соседа (брата) - nextSibling. Алгоритм обхода, заполнение данными, все реализовано.

Всю эту бодягу надо прикрутить к QAbstractItemModel и показать в QTreeView. Подскажите, пожалуйста, с чего начать и как все это сделать.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
 
Начать новую тему
Ответов
Гость_Гость_*
сообщение 26.7.2008, 10:30
Сообщение #2





Гости








    


Правда, остался еще один концептуальный вопрос.

Программа разделена на несколько классов - мой абстрактный BaseTree с реализацией основных функций дерева, SimpleTree, приспособленный уже под более конкретную задачу и TreeDataRepresentation, который фактически загоняет информацию из моей структуры данных (из SimpleTree) в QStandardItemModel.

В BaseTree каждый элемент дерева может представлять из себя все, что угодно, но у меня для простоты пока каждый содержит имя (name) и значение (value), оба типа std::string. Имена выводятся TreeDataRepresentation'ом в QStandardItemModel и после показываются в QTreeView. Все работает, с этим я разобрался.

Как прикрутить сигнал к слоту когда выбирается какой-то элемент, я тоже представляю, но проблема в том, что я не понимаю, как мне достать значение выбранного элемента из BaseTree (а иначе, где их еще хранить?)? Т.е. как связать 2 абстракции?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

Сообщений в этой теме


Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0




RSS Текстовая версия Сейчас: 19.2.2025, 1:32