How to filter QListView
Article Metadata
Code Example
Source file: Media:QListViewExample.zip
Article
Created: rahul.kulshreshtha
(07 Oct 2010)
Last edited: hamishwillee
(23 Jul 2012)
Steps:
1. Create a model that will hold all data and fill it
QStandardItemModel model;
for (char i = 'A'; i <= 'Z'; ++i) {
model.appendRow(new QStandardItem(QString("Item %1").arg(i)));
}
2. Create a proxy model which will be used to filter list.
QSortFilterProxyModel proxyModel;
3. Link model and proxy model
proxyModel.setSourceModel(&model);
4. Create a QListView
QListView list;
5. Link proxy model and list view and show UI
list.setModel(&proxyModel); list.show();
6. Apply filter
QRegExp regExp("*R*", Qt::CaseInsensitive, QRegExp::Wildcard);
proxyModel.setFilterRegExp(regExp);
This will automatically update QListView. See the example for more details and SIGNAL handling. File:QListViewExample.zip
Special thanks to divanov and mkfnx for their contribution in thread http://www.developer.nokia.com/Community/Discussion/showthread.php?210848-How-to-fiter-a-list


(no comments yet)