Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Форум на CrossPlatform.RU _ Qt GUI _ [РЕШЕНО] QTreeWidget::findItems()

Автор: molchanoviv 30.10.2008, 23:27

Решил в виджете классов реализовать поиск, но столкнулся с небольшои проблеммой.
Набросал небольшой код для примера.

#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 31.10.2008, 10:28

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 31.10.2008, 10:34

Спасибо.

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

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

Ну это само собой.

Форум Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)