Qt之使用openUrl打开文件时应该注意的问题
扫描二维码
随时随地手机看文章
先上代码
QString local=QString("file:///%1").arg(filePath);
QUrl url(local);
QDesktopServices::openUrl(url)
上面这段代码在一般情况下是不会出问题的,可以将路径为filePath的文件打开,但是当路径中包含“%20”时(比如说这个文件是从服务器下载的,文件名中的空格被自动转换成了“%20”),这样是无法打开该文件的。
应该改成如下形式
QDesktopServices::openUrl(QUrl::fromLocalFile(filePath));
这样类似“灿哥哥%20的博客.xlsx”的excel文件就能打开啦。