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

Qt

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

QSortFilterProxyModel и QTreeModel - C++ Qt

10.01.2017, 16:30. Просмотров 173. Ответов 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
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
10.01.2017, 16:30
Здравствуйте! Я подобрал для вас темы с ответами на вопрос QSortFilterProxyModel и QTreeModel (C++ Qt):

Реализация фильтра в 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'в. Можно...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Mikhail1990
17 / 17 / 3
Регистрация: 22.03.2014
Сообщений: 211
10.01.2017, 18:41 #2
crisp, поиск в глубину с проверкой на соответствие детей, если не подходят то запоминаем родителя и удаляем вместе с ребенком.
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
10.01.2017, 18:41
Привет! Вот еще темы с ответами:

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. Появилась проблема: когда разворачиваю...


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

Или воспользуйтесь поиском по форуму:
Ответ Создать тему
Опции темы

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