10

我有一个适用于 Mac 和 Windows 的基于 Qt 的应用程序。当用户安装软件时,它还会安装一个包含一堆 HTML 文档页面的文件夹。我如何找到程序安装的位置,以便当用户尝试从应用程序中打开帮助时,他们会被带到index.html.

我的程序安装在 Windows 和 Mac 的正常位置。在 Mac 上,我的程序安装到包含“MyProgram.app”和“Doc”文件夹的文件夹/Users/username/Applications/MyProgram所在的位置。MyProgram

#ifdef Q_OS_MACX
    docPath = executablePath + "/Doc/index.html";
#elif Q_OS_WIN
    docPath = executablePath + "/Doc/index.html";
#endif

    QDesktopServices::openUrl(QUrl::fromLocalFile(docPath));

所以,我的最终问题是,应该executablePath是什么?此外,这假设用户可以将程序安装在默认位置以外的其他位置,或者可以从快捷方式启动程序。

4

1 回答 1

22

You should use:

QString QCoreApplication::applicationDirPath() [static]
于 2013-09-27T18:21:44.147 回答