您的位置:首页 > 编程语言 > Qt开发

qt视图显示不同数据

2015-04-29 22:04 169 查看

1.需求:

根据用户的选择在列表中显示全部数据,销售数据,退货数据

2.解决:

将qt的QSortFilterProxyModel作为视图的模型,根据需要在特定列上作用正则从而达到过滤

3.主要的代码段:

初始化变量

proxyModel = new QSortFilterProxyModel;
proxyView = new QTreeView;
proxyView->setRootIsDecorated(false);
proxyView->setAlternatingRowColors(true);
proxyView->setModel(proxyModel);
proxyView->setSortingEnabled(true);


对变量进行赋值

void **::setSourceModel(QAbstractItemModel *model)
{
proxyModel->setSourceModel(model);
}


进行正则过滤

void **::filterRegExpChanged(const QString &strReg)
{
QRegExpregExp(strReg,Qt::CaseSensitive,QRegExp::RegExp2);
proxyModel->setFilterKeyColumn(0);
proxyModel->setFilterRegExp(regExp);
}


4.参考

qt5.4.0中自带的例子basicsortfiltermodel

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  qt filter