Russian Qt Forum

Qt => Model-View (MV) => Тема начата: White Owl от Июль 12, 2012, 19:02



Название: Как найти листья в QStandardItemModel дереве?
Отправлено: White Owl от Июль 12, 2012, 19:02
Есть дерево построенное на QStandardItemModel/QStandardItem.
Спрашивается, как пройти по всей модели и выбрать в QList элементы у которых нет детей?


Название: Re: Как найти листья в QStandardItemModel дереве?
Отправлено: fte от Июль 17, 2012, 20:20
посмотреть в исходниках реализацию метода match и сделать свою....


Название: Re: Как найти листья в QStandardItemModel дереве?
Отправлено: andrew.k от Июль 17, 2012, 21:25
Вот так (http://lmgtfy.com/?q=%D0%BE%D0%B1%D1%85%D0%BE%D0%B4+%D0%B4%D0%B5%D1%80%D0%B5%D0%B2%D0%B0+%D0%B0%D0%BB%D0%B3%D0%BE%D1%80%D0%B8%D1%82%D0%BC)


Название: Re: Как найти листья в QStandardItemModel дереве?
Отправлено: White Owl от Июль 18, 2012, 17:42
Вот так (http://lmgtfy.com/?q=%D0%BE%D0%B1%D1%85%D0%BE%D0%B4+%D0%B4%D0%B5%D1%80%D0%B5%D0%B2%D0%B0+%D0%B0%D0%BB%D0%B3%D0%BE%D1%80%D0%B8%D1%82%D0%BC)
Хы... Ну в принципе то, я так пока и сделал - в смысле стандартный рекурсивный алгоритм обхода дерева.
Но мне почему-то казалось что при наличии QModelIndexList QAbstractItemModel::match который по идее уже сам умеет делать обход дерева, должны быть и готовые к использованию функции простого превращения дерева в массив.