Russian Qt Forum

Qt => Вопросы новичков => Тема начата: NezLich от Август 12, 2012, 23:38



Название: Полный путь по ветка QTreeWidget
Отправлено: NezLich от Август 12, 2012, 23:38
Есть компонент QTreeWidget.
В нем есть элементы:
Root
      -- Device
      -- Folder
          -- MyFolder
Так вот, как можно получить полный путь от Root до MyFolder ?
То есть, например, у меня выделен MyFolder и мне нужно его получить в виде Root->Folder->MyFolder ?


Название: Re: Полный путь по ветка QTreeWidget
Отправлено: kambala от Август 13, 2012, 01:35
Код
C++ (Qt)
QTreeWidget *leafItem; // MyFolder
QString path = leafItem->text(0);
QTreeWidget *item = leafItem;
while (item = item->parent())
   path += item->text(0) + "->";


Название: Re: Полный путь по ветка QTreeWidget
Отправлено: xokc от Август 13, 2012, 09:29
Так наоборот получится: "MyFolder->Folder->Root".
Да ещё и "->" в конце, т.е. "MyFolder->Folder->Root->"
Я бы внутри цикла сложил все тексты в QStringList c помощью list.prepend(item->text(0)), а после цикла сделал list.join("->").
Но это уже, конечно, детали.


Название: Re: Полный путь по ветка QTreeWidget
Отправлено: kambala от Август 13, 2012, 18:12
ой, перепутал - хотел написать path.insert(0, item->text(0) + "->");