Russian Qt Forum
Сентябрь 30, 2024, 14:41 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: Подскажите, плз, по QTreeWidget  (Прочитано 5041 раз)
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);
   }
 

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

так вот, при любом флаге - результат пустой! что я делаю не так?
Записан
bvn13
Гость
« Ответ #1 : Март 05, 2010, 01:24 »

Сам же и отвечу. Необходимо добавлять флаг "| Qt::MatchRecursive", чтобы искалось по всем Children-ам
Записан
Nimbus
Гость
« Ответ #2 : Март 21, 2010, 07:40 »

Реквестирую хелп.
Почему в дереве не отображаются стрелочки для раскрытия родительского итема, уже на 4-ом уровне иерархии? Как с этим бороться?
После заполнения элементов сделал resizeColumnToContents по всем колонкам. Это как-то связано?
« Последнее редактирование: Март 21, 2010, 07:41 от Nimbus » Записан
shirushizo
Гость
« Ответ #3 : Март 21, 2010, 13:18 »

Что-то у тебя дерево странное... ты каждый уровень запихиваешь в свой column или как?
Записан
Nimbus
Гость
« Ответ #4 : Март 21, 2010, 15:22 »

Что-то у тебя дерево странное... ты каждый уровень запихиваешь в свой column или как?
Ну как бы да.

Выходит, все элементы для раскрытия находятся в первом column'е?
« Последнее редактирование: Март 22, 2010, 04:36 от Nimbus » Записан
voronElf
Гость
« Ответ #5 : Март 22, 2010, 08:59 »

да, элементы для раскрытия в первом столбце. Даж можно по другому: элемент для раскрытия - это строка, раскрытие-скрытие отрисовывается в первом столбце. Ну т.е. элементы в дереве (понятие столбец к которому неприменимо). а столбцами характеризуется каждый элемент, а не дерево.

ПС: ну это как я понимаю, можт кто поправит ...
« Последнее редактирование: Март 22, 2010, 09:01 от voronElf » Записан
shirushizo
Гость
« Ответ #6 : Март 22, 2010, 13:10 »

Все элементы в column 0, в остальных column'ы только дополнительная информация, если ее нет, то columnCount() {return 1}
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.104 секунд. Запросов: 21.