如何找到Qt应用程序的安装目录?

11
我有一个基于Qt的应用程序,适用于Mac和Windows。当用户安装软件时,它还会安装包含一堆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应该是什么?此外,这假定用户可以将程序安装在默认位置以外的其他位置,或者可以从快捷方式启动程序。


可能是如何在Qt中获取可执行文件名称的重复问题。 - syam
QCoreApplication::applicationDirPath (http://qt-project.org/doc/qt-5.0/qtcore/qcoreapplication.html#applicationDirPath) 不正是你想要的吗? - Zlatomir
1个回答

24
你应该使用:

QString QCoreApplication::applicationDirPath() [static]

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接