qt 选择多个文件夹路径实现
时间: 2023-10-16 13:07:24 浏览: 111
在Qt中,可以使用QFileDialog类来选择多个文件夹路径。下面是一个简单的示例代码:
```cpp
#include <QApplication>
#include <QFileDialog>
int main(int argc, char *argv[]) {
QApplication app(argc, argv);
// 创建文件对话框
QFileDialog dialog;
dialog.setFileMode(QFileDialog::Directory);
dialog.setOption(QFileDialog::ShowDirsOnly);
dialog.setDirectory(QDir::homePath()); // 设置初始目录
// 设置多选模式
dialog.setOption(QFileDialog::DontUseNativeDialog, true);
dialog.setOption(QFileDialog::ReadOnly, false);
dialog.setOption(QFileDialog::DontUseCustomDirectoryIcons, false);
dialog.setWindowTitle("选择文件夹");
dialog.setLabelText(QFileDialog::Accept, "选择");
// 获取选中的文件夹路径
QStringList folderPaths;
if (dialog.exec()) {
folderPaths = dialog.selectedFiles();
}
// 打印选中的文件夹路径
for (const QString& folderPath : folderPaths) {
qDebug() << "文件夹路径:" << folderPath;
}
return app.exec();
}
```
在上面的示例中,我们创建了一个QFileDialog对象,并设置其为选择文件夹模式(setFileMode)和只显示文件夹(setOption)。然后,我们设置了一些其他的对话框选项,如初始目录(setDirectory)和对话框标题(setWindowTitle)。
接下来,我们设置了多选模式,以便用户可以选择多个文件夹路径。我们使用了一些特定的选项(setOption)来禁用原生对话框、允许编辑文件夹路径和使用自定义目录图标。
最后,我们通过调用exec()方法来显示对话框,并获取用户选择的文件夹路径(selectedFiles)。然后,我们使用循环遍历输出选中的文件夹路径。
请注意,上述示例只是一个简单的演示,您可以根据您的实际需求进行适当的修改和定制。