一、套路
QFileDialog fileDialog(this);// 创建对话框,并设置父元素;
fileDialog.setWindowTitle("添加本地下载的音乐");//设置窗口标题
//设置文件对话框的默认打开路径
QString projectPath=QDir::currentPath();//获取当前目录
QDir dir(projectPath); //建立目录变量
dir.cdUp(); //向上跳一步;
projectPath = dir.path();
projectPath+="/MiniMusic/musics"; //再次改变目录,直接找到放音乐的目录下
fileDialog.setDirectory(projectPath);//给QFileDialog设置打开目录路径
//设置一次打开多个文件
fileDialog.setFileMode(QFileDialog::ExistingFiles);//设置可以一次打开多个文件;默认是一次打开一个;
//加过滤器,只显示特定的文件
//通过文件后缀的方式进行设置;多个后缀之间用空格或逗号隔开
//fileDialog.setNameFilter("代码文件(*.h *.c *.hpp)");
//fileDialog.setNameFilter("图片文件(*.png *.bmp *.svg)");
if(QDialog::Accepted ==fileDialog.exec())//.exec()在关闭时会有返回值,通过返回值来判断是否执
行以下程序;
{
//将获取的路径导出来;
QList<QUrl> fileUrls = fileDialog.selectedUrls();
......
......
}
此时的本地文件是本地文件的路径;保存在fileUrls中;如果想操作,就要用到媒体类;获取路径信息,解析文件;下面的省略号,代码如果写,就会显得太杂且全是函数调用。