QT获取整个目录下的文件路径
时间: 2023-10-26 20:08:08 浏览: 84
可以使用QDir类来获取整个目录下的文件路径。具体实现方法如下:
```cpp
QDir directory("your directory path");
directory.setFilter(QDir::Files | QDir::NoSymLinks); // 设置过滤规则,只获取文件
QFileInfoList fileList = directory.entryInfoList(); // 获取文件信息列表
foreach(QFileInfo fileInfo, fileList) {
QString filePath = fileInfo.absoluteFilePath(); // 获取文件绝对路径
// do something with filePath
}
```
这样就可以获取到指定目录下所有文件的绝对路径了。如果需要获取子目录下的文件,可以将`QDir::NoSymLinks`去掉。
相关问题
QT遍历获取文件夹下所有文件路径
您可以使用 QDir 类实现遍历获取文件夹下的所有文件路径,具体代码如下:
```cpp
#include <QDir>
//获取指定目录下的所有文件路径
void getAllFilePaths(const QString& dirPath, QStringList& filePaths)
{
QDir dir(dirPath);
if(!dir.exists()) return;
dir.setFilter(QDir::Files | QDir::NoSymLinks);
dir.setSorting(QDir::Name | QDir::IgnoreCase);
QFileInfoList fileInfoList = dir.entryInfoList();
foreach(QFileInfo fileInfo, fileInfoList)
{
filePaths.append(fileInfo.filePath());
}
dir.setFilter(QDir::Dirs | QDir::NoSymLinks);
fileInfoList = dir.entryInfoList();
foreach(QFileInfo fileInfo, fileInfoList)
{
if(fileInfo.fileName() == "." || fileInfo.fileName() == "..") continue;
getAllFilePaths(fileInfo.filePath(), filePaths);
}
}
//使用方法
QStringList filePaths;
getAllFilePaths("your/path", filePaths);
foreach(QString filePath, filePaths)
{
//处理文件路径
}
```
其中,`getAllFilePaths`函数可以递归遍历获取指定目录下的所有文件路径,并将它们存储在一个字符串列表中。您只需要将`"your/path"`替换为您需要遍历的文件夹路径即可。
qt获取当前目录下的所有文件和文件夹的绝对路径
下面是一个示例代码,可以获取当前目录下的所有文件和文件夹的绝对路径:
```
#include <QCoreApplication>
#include <QDir>
#include <QDebug>
int main(int argc, char *argv[])
{
QCoreApplication a(argc, argv);
QDir dir(QDir::currentPath()); //获取当前目录
dir.setFilter(QDir::Files | QDir::Dirs | QDir::NoDotAndDotDot); //设置过滤器,只获取文件和文件夹,不包括"."和".."
QFileInfoList list = dir.entryInfoList(); //获取文件信息列表
for(int i=0; i<list.size(); i++)
{
QFileInfo fileInfo = list.at(i);
qDebug() << fileInfo.absoluteFilePath(); //输出绝对路径
}
return a.exec();
}
```
该示例代码使用了Qt的QDir和QFileInfo类来获取文件和文件夹的信息。QDir::currentPath()方法可以获取当前目录的路径,QDir::Files和QDir::Dirs可以设置过滤器,只获取文件和文件夹;QFileInfoList是一个文件信息列表,可以通过entryInfoList()方法获取。最后,遍历QFileInfoList,通过QFileInfo的absoluteFilePath()方法获取文件和文件夹的绝对路径,并输出。
阅读全文