【发布时间】:2018-01-13 18:55:11
【问题描述】:
我希望应用程序在 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));
【问题讨论】:
-
为什么不使用 QFileDialog
-
QFileDialog 用于选择文件或目录,不是吗?就我而言,我只需要打开一个目录并在上面显示文件。