Записки программиста Программирование и не только

3Фев/120

Слот. Поиск по QTreeWidget. Еще вариант.

Ищет по листьям. По первому столбцу.
Если дерево одноуровневое, то проверку на childCount можно убрать.

void MyClass::find(QString aFindString)
{
    QTreeWidgetItemIterator it(myTree);
    while (*it)
    {
        if (!(*it)->text(0).contains(aFindString, Qt::CaseInsensitive) && ((*it)->childCount() == 0))
        {
            (*it)->setHidden(true);
        }
        else
        {
            (*it)->setHidden(false);
        }
        ++it;
    }
}

Коннект идентичен.

QLineEdit *findEdit = new QLineEdit(this);
connect(findEdit,SIGNAL(textEdited(QString)),this,SLOT(find(QString)));

Должно работать гораздо быстрее первого варианта :)

Комментарии (0) Пинги (0)

Пока нет комментариев.


Leave a comment

Нет обратных ссылок на эту запись.