获取指定文件夹下的
所有文件
(*.tiff *.tif):
mFolderPath = QFileDialog::getExistingDirectory(NULL, "Open Folder", "F:\\FocusImgs\\imgs\\a1");
if (mFolderPath.isEmpty()) return;
QDir dir(mFolderPath);
mFolderPath = dir.fromNativeSeparators(mFolderPath);
if (!dir.exists()) mImgNames = QStringList("");
dir.setFilter(QDir::Files);
dir.setSorting(QDir::Name);
dir.setNameFilters(QString("*.tiff;*.tif").split(";"));
mImgNames = dir.entryList();
for (int i = 0; i < mImgNames.size(); ++i)
qDebug() << "entryList: " << i << "-" << mFolderPath + "/" +mImgNames[i];
获取指定文件夹下的所有文件夹:
QDir dir(mFolderPath);
mFolderPath = dir.fromNativeSeparators(mFolderPath);
if (!dir.exists()) mImgNames = QStringList("");
dir.setFilter(QDir::Dirs | QDir::NoDotAndDotDot);
dir.setSorting(QDir::Name);
mImgNames = dir.entryList();
for (int i = 0; i < mImgNames.size(); ++i)
qDebug() << "entryList: " << i << "-" << mFolderPath + "/" +mImgNames[i];
头文件包含#include <QFileDialog>代码实现获取指定文件夹下的所有文件(*.tiff *.tif): mFolderPath = QFileDialog::getExistingDirectory(NULL, "Open Folder", "F:\\FocusImgs\\imgs\\a1"); if (mFolderPath.isEmpty()) re...
平时经常需要qt实现文件读取,每次都是直接百度需求,这里整理下用过的文件相关操作
平时主要参考这两位博客,有需求直接搜索,只要他们写过,问题一定很好解决(
https://blog.csdn.net/feiyangqingyun
https://me.csdn.net/u011012932
一去二三里
得到文件下所有文件和其路径
bool FindFile(const QString ...
#include <QDebug> //作为打印程序运行结果使用
QStringList Server_TCP::Tcp_Server_Get_Photo_Dir(QString file_path){
file_path = ".//photo";
QDir dir(file_path);
您可以使用QDirIterator一次遍历一个目录。它类似于QDir::entryList()和QDir::entryInfoList(),但因为它一次只列出一个条目,而不是一次列出所有条目,它的扩展性更好,更适合大目录。之前我们看到很多用递归的方式进行遍历的,用迭代器方法的效率
用法一:列举全部文件(不包含链接)
QString path = "目标路径";
QDirIterator iter(path,
QDir::Files | QDir::NoS
void main_ui::getFiles(/*const QString &fileSuffix*/)
QString currDir = QString("%1/Files/").arg(QDir::currentPath());
QDir Dir(currDir); //查看工作
void getFileListDfs(const QString& path, QPair<QStringList, QStringList>& list, const QString& deep)
for(const QString& file : QDir(path + deep).entryList(QDir::Files)){
list.first.append(deep + file);
for(cons
总第13篇
本文主要梳理记录了在Qt项目开发过程中,如何正确地遍历给定目录下的文件。笔者在开发调试过程中也遇到过一些坑,耗费了大量的时间,现将其总结成文,方便后来者参考之。
在Qt中,查找遍历目录下的文件,主要涉及到QDir、QFileInfo、QFileInfoList三个类。其中,QDir是专门提供访问目录结构和内容的类, 给定一个路径即...
QStringList getFiles(const QString& path, const QStringList& filters)
QDir directory(path);
QStringList files;
// 获取该目录下所有文件
QFileInfoList fileList = directory.entryInfoList(QDir::Files);
// 遍历该目录下所有文件
for (int i = 0; i < fileList.size(); i++)
QFileInfo fileInfo = fileList.at(i);
// 如果文件格式符合筛选条件,则加入文件列表
if (filters.contains(fileInfo.suffix()))
files.append(fileInfo.absoluteFilePath());
// 获取该目录下所有子目录
QStringList subDirs = directory.entryList(QDir::Dirs | QDir::NoDotAndDotDot);
// 遍历所有子目录,并递归获取子目录下的文件
for (int i = 0; i < subDirs.size(); i++)
QString subDir = subDirs.at(i);
QString subDirPath = path + QDir::separator() + subDir;
QStringList subDirFiles = getFiles(subDirPath, filters);
files.append(subDirFiles);
return files;
您可以调用该函数来获取指定文件夹及其子文件夹下指定格式的文件,例如:
```cpp
QStringList files = getFiles("/path/to/folder", QStringList() << "txt" << "xml");
该代码将返回所有以".txt"和".xml"为后缀名的文件路径列表。