Russian Qt Forum

Qt => Пользовательский интерфейс (GUI) => Тема начата: bvn13 от Март 05, 2010, 01:15



Название: Подскажите, плз, по QTreeWidget
Отправлено: bvn13 от Март 05, 2010, 01:15
Не могу понять, как сделать поиск по дереву. делаю вот так:

Код
C++ (Qt)
   QTreeWidgetItem *newItem = new QTreeWidgetItem(mainItem);
   newItem->setText(0,"Test");
   mainItem->addChild(newItem);
 
   QList<QTreeWidgetItem *> founded = ui->tree->findItems("Test",Qt::MatchCaseSensitive,0);
//какие только уже не пробовал флаги... бестолку
   if (founded.empty()) {
       QTreeWidgetItem *newItem1 = new QTreeWidgetItem(mainItem);
       newItem1->setText(0,"Test");
       mainItem->addChild(newItem1);
   }
 

т.е. сначала добавляю, а потом тут же ищу его. если не нашел - добавляю еще раз, чтоб знать, что не нашел.

так вот, при любом флаге - результат пустой! что я делаю не так?


Название: Re: Подскажите, плз, по QTreeWidget
Отправлено: bvn13 от Март 05, 2010, 01:24
Сам же и отвечу. Необходимо добавлять флаг "| Qt::MatchRecursive", чтобы искалось по всем Children-ам


Название: Re: Подскажите, плз, по QTreeWidget
Отправлено: Nimbus от Март 21, 2010, 07:40
Реквестирую хелп.
Почему в дереве не отображаются стрелочки для раскрытия родительского итема, уже на 4-ом уровне иерархии? Как с этим бороться?
После заполнения элементов сделал resizeColumnToContents по всем колонкам. Это как-то связано?


Название: Re: Подскажите, плз, по QTreeWidget
Отправлено: shirushizo от Март 21, 2010, 13:18
Что-то у тебя дерево странное... ты каждый уровень запихиваешь в свой column или как?


Название: Re: Подскажите, плз, по QTreeWidget
Отправлено: Nimbus от Март 21, 2010, 15:22
Что-то у тебя дерево странное... ты каждый уровень запихиваешь в свой column или как?
Ну как бы да.

Выходит, все элементы для раскрытия находятся в первом column'е?


Название: Re: Подскажите, плз, по QTreeWidget
Отправлено: voronElf от Март 22, 2010, 08:59
да, элементы для раскрытия в первом столбце. Даж можно по другому: элемент для раскрытия - это строка, раскрытие-скрытие отрисовывается в первом столбце. Ну т.е. элементы в дереве (понятие столбец к которому неприменимо). а столбцами характеризуется каждый элемент, а не дерево.

ПС: ну это как я понимаю, можт кто поправит ...


Название: Re: Подскажите, плз, по QTreeWidget
Отправлено: shirushizo от Март 22, 2010, 13:10
Все элементы в column 0, в остальных column'ы только дополнительная информация, если ее нет, то columnCount() {return 1}