c++ - 使用 Qt 过滤 QFileInfoList 文件

标签 c++ qt qt4

我有一个 QFileInfoList(列表),其中包含有关目录及其文件的信息

QFileInfoList list = directory.entryInfoList();

我如何应用过滤器来删除除图像文件(jpg、gif、png 等)以外的所有内容?

这是一个简单的 foreach 循环,它只删除所有非文件的内容

foreach (QFileInfo f, list){
        if (!f.isFile()){
        list.removeOne(f);
        }

我如何应用过滤器来删除除图像文件(jpg、gif、png 等)以外的所有内容?

最佳答案

QDir::entryInfoList() 采用名称过滤器,如果您愿意通过扩展来确定图像:

QStringList nameFilter;
nameFilter << "*.png" << "*.jpg" << "*.gif";
QFileInfoList list = directory.entryInfoList( nameFilter, QDir::Files );

关于c++ - 使用 Qt 过滤 QFileInfoList 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4364513/

相关文章:

c++ - DsGetDomainControllerInfo 返回 "Pointer to a pointer variable that receives an array"?我不明白

c++ - 二叉搜索树数组实现 C++

c++ - 如何使用 QLineEdit 使光标从其内容的开头开始?

c++ - 尝试创建 Qt 4.7 QStrings,填充到指针数组中

qt - QLineEdit 占位符文本在 Qt 4.6.3 中不起作用

qt - 在 QtWebView 中捕获链接点击并在默认浏览器中打开

c++ - 来自 const std::vector<>&; 的自动对象或引用?

c++ - 带有 const ref initialise 的非常奇怪的输出

qt - 测试变量是否为空并在 qmake 期间给出默认值

c++ - 如何制作Qt委托(delegate)编辑器 'sticky'