温馨提示×

qt怎么获取文件夹下所有文件夹

qt
小亿
417
2023-08-12 01:34:33
栏目: 编程语言

要获取一个文件夹下的所有文件夹,可以使用QDir类。下面是一种可能的方法:

#include <QDir>
#include <QDebug>
void getAllSubfolders(const QString &folderPath)
{
QDir folder(folderPath);
QStringList subfolders = folder.entryList(QDir::Dirs | QDir::NoDotAndDotDot);
foreach (const QString &subfolder, subfolders) {
QString subfolderPath = folderPath + QDir::separator() + subfolder;
qDebug() << "Subfolder: " << subfolderPath;
// 递归地获取子文件夹的子文件夹
getAllSubfolders(subfolderPath);
}
}
int main()
{
QString folderPath = "path/to/folder";
getAllSubfolders(folderPath);
return 0;
}

上述代码定义了一个函数getAllSubfolders,该函数以文件夹路径作为参数,获取指定文件夹下的所有文件夹。首先,使用QDir类打开指定文件夹,然后使用entryList函数获取该文件夹下的所有文件夹(排除".“和”…")。然后,使用foreach循环遍历子文件夹列表,并递归地调用getAllSubfolders函数以获取子文件夹的子文件夹。每次找到一个子文件夹时,将其路径打印到控制台。

你需要根据你的实际需求修改函数main中的folderPath变量,指定你想要获取子文件夹的文件夹路径。

0