Qt之使用openUrl打開(kāi)文件時(shí)應(yīng)該注意的問(wèn)題
先上代碼
QString local=QString("file:///%1").arg(filePath);
QUrl url(local);
QDesktopServices::openUrl(url)
上面這段代碼在一般情況下是不會(huì)出問(wèn)題的,可以將路徑為filePath的文件打開(kāi),但是當(dāng)路徑中包含“%20”時(shí)(比如說(shuō)這個(gè)文件是從服務(wù)器下載的,文件名中的空格被自動(dòng)轉(zhuǎn)換成了“%20”),這樣是無(wú)法打開(kāi)該文件的。
應(yīng)該改成如下形式
QDesktopServices::openUrl(QUrl::fromLocalFile(filePath));
這樣類似“燦哥哥%20的博客.xlsx”的excel文件就能打開(kāi)啦。