要获取一个文件夹下的所有文件夹,可以使用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
变量,指定你想要获取子文件夹的文件夹路径。