Russian Qt Forum

Программирование => С/C++ => Тема начата: pupapum от Ноябрь 16, 2009, 16:19



Название: QTreeWidget и его дети
Отправлено: pupapum от Ноябрь 16, 2009, 16:19
Всем привет.
Ребят, может не в тему тут, но прошу помощи.
Есть дерево.

Нужно написать функцию, которая на вход получает QTreeWidgetItem, а возвращает список из двух столбцов следующего вида (пример условный, кол-во уровней и глубина не известна)

Уровень Кол-во детей
   1              3
   2              2
   3              5
...                ....

И так для каждого уровня относительно данного элемента. Ребята, очень очень прошу помочь... Я по алгоритмам не спец, поэтому трудно =). Спасибо!



Название: Re: QTreeWidget и его дети
Отправлено: Igors от Ноябрь 16, 2009, 16:50
ф-ция (не отлаживал)
Код:
void CountItemLevels( const QTreeWidgetItem & item, QList <int> & lst, int level )
{
  while (lst.size() <= level) lst.append(0);
  ++lst[level];
  
  int i, limit = item.childCount();
  for (i = 0; i < limit; ++i)
    CountItemLevels(*item.child(i), lst, level + 1);  
}
Хотя не вижу смысла в этом "подсчете количества детей" :)


Название: Re: QTreeWidget и его дети
Отправлено: pupapum от Ноябрь 16, 2009, 19:00
Пробую