使用系统 QFileDialog 接口
1、先 new QFileDialog ,逐项设置
#include <QFileDialog>
//定义文件对话框类
QFileDialog *fileDialog = new QFileDialog(this);
//定义文件对话框标题
fileDialog->setWindowTitle(QStringLiteral("选择文件"));
//设置打开的文件路径
fileDialog->setDirectory("./");
//设置文件过滤器,只显示.ui .cpp 文件,多个过滤文件使用空格隔开
fileDialog->setNameFilter(tr("File(*.ui* *.cpp*)"));
//设置可以选择多个文件,默认为只能选择一个文件QFileDialog::ExistingFiles
fileDialog->setFileMode(QFileDialog::ExistingFiles);
//设置视图模式
fileDialog->setViewMode(QFileDialog::Detail);
//获取选择的文件的路径
QStringList fileNames;
if (fileDialog->exec()) {
fileNames = fileDialog->selectedFiles();
}
setFileMode 模式有四种(AnyFile, ExistingFile, Directory, ExistingFiles),分别表示默认模式,单个文件,文件夹,多个文件
2、直接使用系统 get 接口
// 选择文件夹
QString imageFolder = QFileDialog::getExistingDirectory(this, tr("选择文件保存路径"), "./", QFileDialog::ShowDirsOnly);
qDebug() << imageFolder << endl;
// 选择文件
QString file;
QStringList files = QFileDialog::getOpenFileNames(this, tr("selected"), "./", tr("File(*.ui* *.cpp*)"), &file, QFileDialog::ShowDirsOnly);
qDebug() << "file " << file << endl;