QFileDialog 可以通过设置属性 QFileDialog::FileMode
来允许多选文件。代码示例如下:
QStringList fileNames = QFileDialog::getOpenFileNames(
this, "Select one or more files to open",
"/home", // 默认路径
"Images (*.png *.xpm *.jpg);;Text files (*.txt);;All files (*)"
);
在上面的代码中,getOpenFileNames()
方法返回一个 QStringList
,包含用户选择的所有文件名。同时,对话框会显示在 /home
目录下,并且只允许选择 .png
, .xpm
, .jpg
文件或 .txt
文件。如果要允许选择所有类型的文件,则可以使用 "All files (*)"
。
注意,在 Windows 平台下,QFileDialog 对话框默认是支持多选的。但是在 Linux 和 macOS 等平台下,默认不支持多选,需要设置 QFileDialog::DontUseNativeDialog
属性来强制启用 Qt 自己实现的对话框。