Перебрать всех дочерних элементов элемента дерева.C++

Программы на C++. Форум разработчиков
Anonymous
Перебрать всех дочерних элементов элемента дерева.

Сообщение Anonymous »

В настоящее время я перебираю все дочерние элементы элемента дерева, используя этот код.

Код: Выделить всё

void  iterate(const QModelIndex & index, const QAbstractItemModel * model)
{
if (index.isValid())
{
// Do action here
}

if (!model->hasChildren(index) || (index.flags() &
Qt::ItemNeverHasChildren))
{
return;
}
auto rows = model->rowCount(index);
for (int i = 0; i < rows; ++i)
iterate(model->index(i, 0, index), model);
}
мне нужно выполнить итерацию, используя TreeItem вместо индекса

Код: Выделить всё

 void  iterate(TreeItem *item, const QAbstractItemModel * model)
Один метод, который я могу придумать, — это получить индекс элемента с помощью функции createIndex, и приведенный выше код будет работать с ним.

Есть ли другой способ сделать это?

Подробнее здесь: https://stackoverflow.com/questions/574 ... -tree-item

Вернуться в «C++»