• 9810阅读
  • 5回复

QDirModel 如何过滤文件 [复制链接]

上一主题 下一主题
离线xjcook
 

只看楼主 正序阅读 楼主  发表于: 2008-04-25
— 本帖被 XChinux 从 General Qt Programming 移动到本区(2011-01-02) —
qt的例子里面有一个利用QDirModel和QTreeWidget实现的类似于资源管理器的例子,
现在我想把他给加一个过滤条件,只显示满足特定文件名的文件,比如*.cpp。
结果设置了nameFilters后,连目录名也被过滤了,但这不是我希望的,
哪位知道如何只过滤文件名,目录名全都保留,其结果类似于QFileDialog中的结果。
离线ilarm

只看该作者 5楼 发表于: 2008-11-21
QStringList stringList;
stringList  <<  "*.jpg" << "*.gif" << "*.png";
setNameFilters(stringList);
离线米尔利安

只看该作者 4楼 发表于: 2008-10-16
引用第3楼lazybone于2008-10-15 13:26发表的  :
Jambi
------------
String selectPicPath = QFileDialog.getOpenFileName(null, "选择您的头像", "",
                new QFileDialog.Filter("图片文件 (*.png *.jpg *.bmp)"));


我不希望用对话框的方法,而是在TreeView下的树状文件结构里只显示我需要的几类扩展名文件。。。。。。。
我们在天上的父,愿人都尊你的名为圣。
愿你的国降临。
愿你的旨意行在地上,如同行在天上。
离线lazybone
只看该作者 3楼 发表于: 2008-10-15
Jambi
------------
String selectPicPath = QFileDialog.getOpenFileName(null, "选择您的头像", "",
                new QFileDialog.Filter("图片文件 (*.png *.jpg *.bmp)"));
离线米尔利安

只看该作者 2楼 发表于: 2008-10-15
我希望显示多个类型的文件怎么办呢?
setNameFilters(QStringList("*.JPG *.BMP"))不能用……
我们在天上的父,愿人都尊你的名为圣。
愿你的国降临。
愿你的旨意行在地上,如同行在天上。
离线xjcook

只看该作者 1楼 发表于: 2008-04-25
已搞定,感谢SnailShell。
在setFilter中添加QDir::AllDirs标记就可以了,
文档里面说的很清楚了,刚开始看的时候漏掉了。
快速回复
限100 字节
 
上一个 下一个