• 6614阅读
  • 5回复

setFilterRegExp()函数的使用 [复制链接]

上一主题 下一主题
离线风一样
 
只看楼主 倒序阅读 楼主  发表于: 2010-09-13
我用setFilterRegExp()过滤一个SortFilterProxyModel:
ProxyModel->setFilterRegExp(QRegExp("bmp", Qt::CaseInsensitive, QRegExp::FixedString));

但是只要加上“筛选”字符串就显示不出东西,不加“筛选”字符串就全部显示~
这是怎么回事啊?
离线beaujolais
只看该作者 1楼 发表于: 2010-09-13
你要过滤什么呢?

看你的QRegExp("bmp", Qt::CaseInsensitive, QRegExp::FixedString)
"bmp"  要用正则表达式的~~
离线风一样
只看该作者 2楼 发表于: 2010-09-13
我是要过滤掉所有不带“bmp”字符的文件,后面的QRegExp::FixedString这个参数不就是说明不用正则表达式吗??
离线beaujolais
只看该作者 3楼 发表于: 2010-09-13
不好意思,没看仔细~~

过滤掉所有不带bmp字符的文件,我觉得这样写的话应该是实现不了。

因为你这样写是只匹配了bmp字符的文件,并且只有bmp三个字符哦~~是完全匹配了

所以用正则表达式吧,挺方便的QRegExp("^.*bmp.*$");
离线风一样
只看该作者 4楼 发表于: 2010-09-14
还是不行~我将代码修改如下:
ProxyModel->setFilterRegExp(QRegExp("^.*bmp.*$", Qt::CaseInsensitive, QRegExp::RegExp));
这是为什么啊~~~?
离线风一样
只看该作者 5楼 发表于: 2010-09-14
setFilterRegExp()函数是不是只能过滤纯文本的字符串啊?
而我是想实现的是筛选出.bmp的文件,要过滤文件的文件名,是不是不能这个函数?
快速回复
限100 字节
 
上一个 下一个