QFileDialog 可以通过设置属性 QFileDialog::FileMode
和 QFileDialog::Option
来允许多选目录。代码示例如下:
QStringList dirNames = QFileDialog::getExistingDirectories(
this, "Select one or more directories",
"/home", // 默认路径
QFileDialog::ShowDirsOnly | QFileDialog::DontResolveSymlinks
);
在上面的代码中,getExistingDirectories()
方法返回一个 QStringList
,包含用户选择的所有目录名。同时,对话框会显示在 /home
目录下,并且只允许选择目录而不是文件(使用 QFileDialog::ShowDirsOnly
选项),并且不解析符号链接(使用 QFileDialog::DontResolveSymlinks
选项)。
注意,在 Windows 平台下,QFileDialog 对话框默认是支持多选目录的。但是在 Linux 和 macOS 等平台下,默认不支持多选,需要设置 QFileDialog::DontUseNativeDialog
属性来强制启用 Qt 自己实现的对话框。