ф-ция (не отлаживал)
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);  
} 
Хотя не вижу смысла в этом "подсчете количества детей"