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

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

Форум на CrossPlatform.RU _ Qt Модель/Представление _ Установка фильтра, да не простого, а с несколькими or

Автор: poluna 25.12.2015, 15:10

Есть QTreeView, QStandardItemModel и QSortFilterProxyModel.

proxyModel.setSourceModel(model)
treeView.setModel(proxyModel)
proxyModel.setFilterKeyColumn(3) # Не суть важно, какой столбец, у меня он не хардкодится как здесь

proxyModel.setFilterFixedString('Овощи')
Вопрос, как мне установить несколько фильтров?
proxyModel.setFilterFixedString('Картофель')
proxyModel.setFilterFixedString('Томаты')
proxyModel.setFilterFixedString('Огурцы')
и чтобы они все показывались?

Автор: lanz 25.12.2015, 15:37

1. Вариант для ленивых
proxyModel.setFilterRegExp(r"Томаты|Огурцы|Картофель")
http://doc.qt.io/qt-5/qsortfilterproxymodel.html#filterRegExp-prop
2. Для не очень ленивых, позволяющий фильтровать в коде а не в регекспах - перегрузить
http://doc.qt.io/qt-5/qsortfilterproxymodel.html#filterAcceptsRow

Автор: poluna 28.12.2015, 10:14

Спасибо, взяла на вооружение вариант для ленивых, самое то! :)

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