我希望应用程序在MAC的finder中打开一个目录,但它不起作用。
它仅适用于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));
聚苯乙烯。你也可以在其上添加相对路径,但要注意字符串中的..和/:
QString workingDir = qApp->applicationDirPath();
workingDir += "/../../../";
QString path = QString::fromLatin1("file://%1").arg(workingDir);
QDesktopServices::openUrl(QUrl(path, QUrl::TolerantMode));
答案 0 :(得分:1)
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));