Форум программистов, компьютерный форум CyberForum.ru

Qt

Войти
Регистрация
Восстановить пароль
 
crisp
0 / 0 / 0
Регистрация: 16.07.2016
Сообщений: 11
#1

QSortFilterProxyModel и QTreeModel - C++ Qt

10.01.2017, 16:30. Просмотров 163. Ответов 1
Метки нет (Все метки)

Добрый день. Интересует использование метода filterAcceptsRow для фильтрации древовидной модели.

есть такое:

C++ (Qt)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
bool ProxyModel::filterAcceptsRow(int sourceRow,
        const QModelIndex &sourceParent) const
{
    if (m_minimumPrice != -1 ||
        m_maximumPrice != -1) {
        QModelIndex index = sourceModel()->index(sourceRow, 2,
                                                 sourceParent);
        if (m_minimumPrice != -1 &&
            sourceModel()->data(index).toFloat() < m_minimumPrice)
            return false;
        if (m_maximumPrice != -1 &&
            sourceModel()->data(index).toFloat() > m_maximumPrice)
            return false;
    }
   
    return true;
}
Поиск по максимальному значению отсекает детей дерева правильно. Но при поиске минимального значения, фильтрует родителя, даже если есть подходящие дети.

Собственно вопрос. Как фильтровать таблицу, чтобы изначально фильтровались дети, и если дети не подходят по критериям поиска, то их родителей убрать.

 Комментарий модератора 
Ставьте теги правильно!
Правила именования тем и оформления сообщений в разделе Qt
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
10.01.2017, 16:30     QSortFilterProxyModel и QTreeModel
Посмотрите здесь:

Реализация фильтра в QSortFilterProxyModel - C++ Qt
Доброго времени суток. Имеется класс унаследованный от QAbstractTableModel и QTableView. В модели есть столбик данных QDate. Как, с...

QSortFilterProxyModel управление сортировкой - C++ Qt
Добрый день, возникла проблема: использую таблицу QSortFilterProxyModel, в ней несколько столбцов с заголовками. При нажатии на...

Qsortfilterproxymodel фильтрация по цвету - C++ Qt
Кто-нибудь сталкивался с задачей фильтрации данных по цвету текста ячейки или её фона? Пока не пойму, как получить цвет чего-либо в...

QSortFilterProxyModel не могу разобраться - C++ Qt
Назначил прокси модель. Назначил ей модель. Теперь не могу разобраться как сделать фильтр по двум столбцам. Придется унаследовать...

Qsortfilterproxymodel filter by columns - C++ Qt
Здравствуйте. Меня интересует следующий вопрос. У меня есть proxymodel. К примеру состоит она из трех столбцов:&quot;Имя&quot;,&quot;Фамилия&quot;,&quot;Отчество&quot;....

Одна QSortFilterProxyModel на несколько QComboBox - C++ Qt
Всем успехов! У меня несколько взаимосвязанных таблиц в SQLite, из которых создается расписание путем выборки из ComboBox'в. Можно...

QSortFilterProxyModel - получить порядок сортировки - C++ Qt
Всем доброго. Имеется таблица, based on QAbstractTableModel, и сортирующая модель, обычная QSortFilterProxyModel . Сортирует на...

Добавление собственных колонок в QSortFilterProxyModel - C++ Qt
Нужно добавить в QSortFilterProxyModel &quot;виртуальные&quot; колонки, которых нет в исходной модели (source). Как это правильно сделать, что и...

Перебор всех строк в QSortFilterProxyModel - C++ Qt
Не могу сообразить, как перебрать все строки (пройтись по каждой) в QSortFilterProxyModel.

QSortFilterProxyModel + QAbstractItemModel + treeview qml - C++ Qt
реализовал свою древовидную модель. потом для сортировки создал класс от QSortFilterProxyModel. Появилась проблема: когда разворачиваю...

QSortFilterProxyModel фильтрация по нескольким значениям столбца - C++ Qt
Есть модель. В одном из столбцов могут быть данные - 1, 2 или 3. Есть форма. На ней tableView, menuBar c добавленными Action типа...

Как правильно передать внутренний указатель QModelIndex в QSortFilterProxyModel? - C++ Qt
Столкнулся со следующей проблемой. При использовании QSortFilterProxyModel модельные индексы прокси модели не содержат внутренние...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Mikhail1990
16 / 16 / 3
Регистрация: 22.03.2014
Сообщений: 208
10.01.2017, 18:41     QSortFilterProxyModel и QTreeModel #2
crisp, поиск в глубину с проверкой на соответствие детей, если не подходят то запоминаем родителя и удаляем вместе с ребенком.
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru