我有一个适用于Mac和Windows的基于Qt的应用程序。当用户安装软件时,它还会安装包含大量HTML文档页面的文件夹。如何找到程序安装的位置,以便当用户尝试从应用程序中打开“帮助”时,它们将被带到index.html
。
我的程序安装在Windows和Mac的正常位置。在Mac上,我的程序安装到/Users/username/Applications/MyProgram
,其中MyProgram
是包含“MyProgram.app”和“Doc”文件夹的文件夹。
#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
应该是什么?此外,这假定用户可以在默认位置以外的地方安装程序,或者可以从快捷方式启动程序。
答案 0 :(得分:19)
您应该使用:
QString QCoreApplication::applicationDirPath() [static]