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

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

Страниц: [1]   Вниз
  Печать  
Автор Тема: QTreeWidget - обход дерева.  (Прочитано 8461 раз)
DiamondRain
Гость
« : Ноябрь 02, 2010, 01:46 »

У меня есть список объектов, которые будут являться составляющими дерева. В свойствах объекта его имя и указатель на элемент, который по структуре стоит на уровень его выше. Нужно в QTreeWidget построить дерево этих объектов.
Подскажите, как это лучше сделать? Рекурсией? Или воспользоваться стандартными методами класса?
Записан
alexman
Гость
« Ответ #1 : Ноябрь 02, 2010, 08:36 »

Из данной структуры делаем дерево. Далее делаем обход дерева и заполняем экземпляр QTreeWidget!
« Последнее редактирование: Ноябрь 02, 2010, 08:39 от alexman » Записан
navrocky
Гипер активный житель
*****
Offline Offline

Сообщений: 817


Погроммист


Просмотр профиля
« Ответ #2 : Ноябрь 02, 2010, 11:00 »

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

А так да, обычно это рекурсия.

Как вариант - разобраться с Model/View архитектурой и сделать на QTreeView.

Цитировать
Или воспользоваться стандартными методами класса?
Не слышал о таких %)

Если все-таки делать на QTreeWidget то для удобства указатель на твой объект можно запихнуть в QTreeWidgetItem через QTreeWidgetItem::setData...
Записан

Гугль в помощь
BlackTass
Гость
« Ответ #3 : Ноябрь 02, 2010, 23:10 »

Зато есть указатель на парента, этого вполне достаточно для построения дерева.
Записан
navrocky
Гипер активный житель
*****
Offline Offline

Сообщений: 817


Погроммист


Просмотр профиля
« Ответ #4 : Ноябрь 03, 2010, 15:46 »

Зато есть указатель на парента, этого вполне достаточно для построения дерева.

Достаточно конечно, но как такое дерево обойти?
Записан

Гугль в помощь
BlackTass
Гость
« Ответ #5 : Ноябрь 03, 2010, 16:11 »

Ну сначала его нужно построить, а потом соответственно обойти. Я просто не вижу тут какой то особой проблемы Улыбающийся
Записан
navrocky
Гипер активный житель
*****
Offline Offline

Сообщений: 817


Погроммист


Просмотр профиля
« Ответ #6 : Ноябрь 04, 2010, 10:31 »

Ох лол, проглядел фразу  Улыбающийся :
Цитировать
У меня есть список объектов, которые будут являться составляющими дерева.
Записан

Гугль в помощь
DiamondRain
Гость
« Ответ #7 : Ноябрь 10, 2010, 17:55 »

В QList будет лежать модель, а именно список объектов (элемент дерева). При построении дерева каждый элемент оного будет являться view моего объекта Улыбающийся как еще объяснить..
Записан
BlackTass
Гость
« Ответ #8 : Ноябрь 10, 2010, 18:16 »

Ничо не понял, попробуй еще раз
Записан
DiamondRain
Гость
« Ответ #9 : Ноябрь 10, 2010, 18:30 »

В идеале хочу сделать следующем образом: с помощью класса QAbstractItemModel задам модель для моего дерева при помощи коллекции объектов (класс - Элемент дерева). Далее к отображалке QTreeWidget привязать созданную модель и вывести её в виде дерева каталогов.
Записан
BlackTass
Гость
« Ответ #10 : Ноябрь 10, 2010, 18:39 »

Ну к QTreeView только. Теперь интересно будет узнать в чем проблема Улыбающийся
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


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