Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: [РЕШЕНО] QTreeWidget::findItems()
Форум на CrossPlatform.RU > Библиотеки > Qt > Qt GUI
molchanoviv
Решил в виджете классов реализовать поиск, но столкнулся с небольшои проблеммой.
Набросал небольшой код для примера.
#include  <QtGui>

int main(int argc, char * argv[])
{
     QApplication app(argc, argv);
     QTreeWidget *widget = new QTreeWidget;
     QTreeWidgetItem *fitem = new QTreeWidgetItem(widget);
     fitem->setText(0,"first0");
     fitem->setText(1,"first1");
     QTreeWidgetItem *sitem = new QTreeWidgetItem(widget);
     sitem->setText(0,"second0");
     sitem->setText(1,"second1");
     QTreeWidgetItem *titem = new QTreeWidgetItem(widget);
     titem->setText(0,"third0");
     titem->setText(1,"third1");
     QList list;
     list<<widget->findItems("third0",Qt::MatchContains,0);
     if(!list.isEmpty()) qDebug()<<list.first()->text(0);
     else qDebug()<<"list Is Empty";
     widget->show();
     return app.exec();
}

Данный код - рабочий, но если я указваю list<<widget->findItems("third1",Qt::MatchContains,1); 
то список list оказывается пустым.
Посмотрел в ассистенте, там последний аргумент int column = 0
Собственно вопрос: можно ли искать итемы по тексту во второй колонке?
Litkevich Yuriy
molchanoviv, есть опечатка:
объявление должно быть такое - QList<QTreeWidgetItem*> list;
я скомпилил в Qt4.3.4, второго столбца нет в дереве.

добавил такую строчку:
widget->setColumnCount(2);
и все заработало

и когда меняешь номер столбца в
list<<widget->findItems("third0",Qt::MatchContains,0);

не забывай и тут поменять:
if(!list.isEmpty()) qDebug()<<list.first()->text(0);
molchanoviv
Спасибо.

Цитата
и когда меняешь номер столбца в
list<<widget->findItems("third0",Qt::MatchContains,0);

не забывай и тут поменять:
if(!list.isEmpty()) qDebug()<<list.first()->text(0);

Ну это само собой.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Форум IP.Board © 2001-2024 IPS, Inc.