要获取一个文件夹下的所有文件夹,可以使用QDir类。下面是一种可能的方法:
```cpp
#include
#include
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`变量,指定你想要获取子文件夹的文件夹路径。