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

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

Страниц: [1]   Вниз
  Печать  
Автор Тема: Очень странная проблема  (Прочитано 2002 раз)
CJ1
Гость
« : Октябрь 22, 2012, 12:51 »

Есть Qtreewidget
Есть дерево в первом столбце, и id ветки во втором

Дерево                |   id
Первая ветка       |   94
|
|--Доход             |   95


Делаю такой код
Код
C++ (Qt)
QList<QTreeWidgetItem*> w_item = ui->treeWidget->findItems ( "94", Qt::MatchFixedString | Qt::MatchWrap,1 );
 
 
          for (int i = 0; i < w_item.count(); i++)
          {
              ui->treeWidget->setItemSelected(w_item[i],true);
          }

находит первую ветку
Делаю такой код
Код
C++ (Qt)
          w_item.clear();
             QList<QTreeWidgetItem*> w_item1 = ui->treeWidget->findItems ( "95", Qt::MatchFixedString | Qt::MatchWrap,1 );
 
             for (int i = 0; i < w_item1.count(); i++)
             {
                 ui->treeWidget->setItemSelected(w_item1[i],true);
             }

Не находит ничего!
Почему так?
« Последнее редактирование: Октябрь 22, 2012, 13:21 от CJ1 » Записан
CJ1
Гость
« Ответ #1 : Октябрь 22, 2012, 13:09 »

Решил! Нужно добавить флаг Qt::MatchRecursive
Записан
Bepec
Гость
« Ответ #2 : Октябрь 22, 2012, 13:10 »

Логично Улыбающийся

findItems ищет по детям TreeWidget. Т.е. TopLevelItem. А тебе как раз и нужен был поиск по детям детей Улыбающийся
Записан
CJ1
Гость
« Ответ #3 : Октябрь 22, 2012, 13:21 »

QTreeWidgetItem * QTreeWidget::topLevelItem ( int index ) const

Вот еще один вопрос, мне нужно получить элемент выше данного на уровень как это сделать? Что такое index?
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


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