簡體   English   中英

QDesktopServices :: openUrl()無法在MAC Finder中打開目錄

[英]QDesktopServices::openUrl() cannot open directory in MAC Finder

我希望應用程序在MAC的查找器中打開目錄,但是它不起作用。

它僅適用於Windows,不適用於MAC。 有什么辦法嗎?

更新:

正如@Mohammad Kanan建議的那樣,使用以下語法:

QDesktopServices :: openUrl(QUrl(“ file:/// your_folder”,QUrl :: TolerantMode));

它正在工作,例如:

QString workingDir = qApp->applicationDirPath();
QString path = QString::fromLatin1("file://%1").arg(workingDir);
QDesktopServices::openUrl(QUrl(path, QUrl::TolerantMode));

PS。 您也可以在其上添加相對路徑,但要注意..和/中的字符串:

QString workingDir = qApp->applicationDirPath();
workingDir += "/../../../";
QString path = QString::fromLatin1("file://%1").arg(workingDir);
QDesktopServices::openUrl(QUrl(path, QUrl::TolerantMode));

Windows和MAC上的正確語法:

打開一個文件:

QDesktopServices::openUrl(QUrl("file:///Users/myname/myfile"));

瀏覽具有相同語法的文件夾:

QDesktopServices::openUrl(QUrl("file:///Users/myname/"));

注意,如果文件系統位於包含空格的路徑中:

QDesktopServices::openUrl(QUrl("file:///C:/Documents and Settings/All Users/Desktop", QUrl::TolerantMode));

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM