QFileDialog 提供了非常多的静态函数,用来打开一个对话框,对话框可以用来保存和选择文件,打开文件的时候可以选择多个文件。我们也可以不使用静态函数,用QFileDialog 对象来打开一个对话框。
//实列化一个对象
QFileDialog fileDialog(this);
//设置窗口的标题
fileDialog.setWindowTitle(CQTUtil::ToQString(__XT("请选择音乐文件")));
fileDialog.setNameFilter("音乐文件(*.mp3 *.wav)"); //设置一个过滤器
//也可以使用下面代码设置多个过滤器
QStringList filters;
filters << "Image files (*.png *.xpm *.jpg)"
<< "Text files (*.txt)"
<< "Any files (*)";
fileDialog.setNameFilters(filters); //这个函数名称后面多了一个s,表示设置多个过滤器。要看清楚。
//这个标志用来设置选择的类型,比如默认是单个文件。QFileDialog::ExistingFiles 多个文件,还可以用来选择文件夹QFileDialog::Directory。QFileDialog::ExistingFile 单个文件。注意这个ExistingFile,单词后面多了一个s
表示选择多个文件。要看清楚了。
fileDialog.setFileMode(QFileDialog::ExistingFiles);
//如果是要保存文件,那就需要再设置一下
fileDialog.setAcceptMode(QFileDialog::AcceptSave);
//弹出对话框
if (fileDialog.exec() == QDialog::Accepted)
{
//strPathList 返回值是一个list,如果是单个文件选择的话,只要取出第一个来就行了。
QStringList strPathList = fileDialog.selectedFiles();
}
版权声明:本文为博主原创文章,未经博主允许不得转载。