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

Posted

技术标签:

【中文标题】如何找到 Qt 应用程序的安装目录?【英文标题】:How to find the installation directory of a Qt application? 【发布时间】:2013-09-27 18:15:44 【问题描述】:

我有一个适用于 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 应该是什么?此外,这假设用户可以将程序安装在默认位置以外的其他位置,或者可以从快捷方式启动程序。

【问题讨论】:

how to get executable name in Qt的可能重复 QCoreApplication::applicationDirPath (qt-project.org/doc/qt-5.0/qtcore/…) 不正是你想要的吗? 【参考方案1】:

你应该使用:

QString QCoreApplication::applicationDirPath() [static]

【讨论】:

以上是关于如何找到 Qt 应用程序的安装目录?的主要内容,如果未能解决你的问题,请参考以下文章

在windows下安装了QT creator 编译出来的.exe文件 双击无法执行,提示找不到:没有找到qt5cored.dll

如何获取 Qt 应用程序的当前工作目录路径?

Qt4问题集锦

如何使用VS2012调试QT程序

QT程序打包

用QT写好的程式,如何使用在其他未装QT的PC上?换句话说,如何封装后转移到其他电脑?请帮忙说明详细步骤!