27Янв/120
Слот. Поиск по QTreeWidget.
Поиск работает только в одноуровневом дереве по первому столбцу.
void MyClass::find(QString aFindString) { int childCount = tree->invisibleRootItem()->childCount(); if(aString != "") { QList <QTreeWidgetItem *> findList = tree->findItems(aFindString, Qt::MatchContains, 0); for(int i = 0; i < childCount; i++) { tree->invisibleRootItem()->child(i)->setHidden(true); } int findListSize = findList.size(); for(int j = 0; j < findListSize; j++) { findList.at(j)->setHidden(false); } } else { for(int i = 0; i < childCount; i++) { tree->invisibleRootItem()->child(i)->setHidden(false); } } }
Коннектим так:
QLineEdit *findEdit = new QLineEdit(this); connect(findEdit,SIGNAL(textEdited(QString)),this,SLOT(find(QString)));
Комментарии (0)
Пинги (0)
(подписаться на новые комментарии в этой ветке)
Нет обратных ссылок на эту запись.
Leave a comment