Qt仿音乐播放器:QFileDialog添加本地文件

一、套路

复制代码
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中;如果想操作,就要用到媒体类;获取路径信息,解析文件;下面的省略号,代码如果写,就会显得太杂且全是函数调用。

相关推荐
bzmK1DTbd4 小时前
Git版本控制:Java项目中的分支管理与合并策略
java·开发语言·git
Rust研习社5 小时前
为什么 Rust 没有空指针?
开发语言·后端·rust
kyriewen115 小时前
WebAssembly:前端界的“外挂”,让C++代码在浏览器里跑起来
开发语言·前端·javascript·c++·单元测试·ecmascript
其实防守也摸鱼7 小时前
CTF密码学综合教学指南--第九章
开发语言·网络·python·安全·网络安全·密码学·ctf
砚底藏山河7 小时前
Python量化开发:2026最佳实时股票数据API接口推荐与对比
开发语言·windows·python
AlunYegeer8 小时前
JAVA,以后端的视角理解前端。在全栈的路上迈出第一步。
java·开发语言·前端
hixiong1238 小时前
C# OpenvinoSharp使用DINOv2模型进行图像相似度计算
开发语言·c#
DFT计算杂谈9 小时前
自动化脚本一键绘制三元化合物相图
java·运维·服务器·开发语言·前端·python·自动化
EW Frontier9 小时前
6G ISAC新范式:基于智能漏波天线的Wi‑Fi通感一体化系统设计与实测【附MATLAB+python代码】
开发语言·python·matlab·music·isac·doa·wi‑fi
楼田莉子9 小时前
Linux网络:NAT_代理
linux·运维·服务器·开发语言·c++·后端