QFileDialog实现选择多个文件夹
时间: 2024-10-27 13:03:38 浏览: 122
QFileDialog是Qt库中的一个对话框组件,用于在用户界面上提供文件和文件夹的选择功能。如果你想让用户能够选择多个文件夹,你可以使用`QFileDialog::getExistingDirectory()`函数的带有多选选项的版本,例如`QFileDialog::getExistingDirectoryNames()`。
这个函数的工作原理类似于`getOpenFileNames()`,但是它返回的是一个包含所选目录路径的字符串列表,而不是单个文件名。下面是一个简单的示例:
```cpp
QStringList selectedFolders;
if (QFileDialog::getExistingDirectoryNames(nullptr, tr("Choose Multiple Folders"), QDir::homePath(), QFileDialog::ShowDirsOnly | QFileDialog::DontResolveSymlinks) > 0) {
selectedFolders = QFileDialog::getExistingDirectoryNames();
// 现在selectedFolders包含了用户选择的所有文件夹路径
} else {
qDebug() << "No folder was chosen";
}
```
在这个例子中,`tr("Choose Multiple Folders")`是你设置的窗口标题,`QDir::homePath()`是默认的起始目录,`QFileDialog::ShowDirsOnly`表示只显示文件夹,而`QFileDialog::DontResolveSymlinks`则防止解析符号链接。
阅读全文