我有一个 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/