gpt4 book ai didi

c++ - Mac 上的 QDir 绝对路径

转载 作者:塔克拉玛干 更新时间:2023-11-03 06:44:29 26 4
gpt4 key购买 nike

当我在 Qt Creator 中运行相同的构建时,以及当我在 Mac 上的 Finder 中双击它时,我得到了两条不同的路径。

这是我的代码:

QDir dir = QDir::currentPath();
dir.cdUp();
dir.cdUp();
dir.cdUp();
QString rootPath = dir.absolutePath();

当我在 Qt Creator 中运行它(调试)模式时,我的路径是:

/Users/myuser/Projects/AppName/build/mac

当我双击位于/Users/myyser/Projects/AppName/build/mac 从 finder 返回/只有。

为什么我会得到两条不同的路径?

版本:Qt5.2.1

更新

阅读以下网址似乎是一个错误http://qt-project.org/forums/viewthread/34019

最佳答案

Why would I get two different paths?

正如他们在您链接的线程中所写的那样,QDir::currentPath() 不一定返回应用程序目录。它将从应用程序运行的任何地方返回路径,这将不同于从命令行运行应用程序时的应用程序目录,甚至从“开始菜单”等类似的地方等等。

如果您希望处理从那里导航的应用程序目录,则需要改用以下方法:

QString QCoreApplication::applicationDirPath() [static]

Returns the directory that contains the application executable.

For example, if you have installed Qt in the C:\Qt directory, and you run the regexp example, this function will return "C:/Qt/examples/tools/regexp".

On Mac OS X this will point to the directory actually containing the executable, which may be inside of an application bundle (if the application is bundled).

最后一句话甚至澄清了 Mac OS X 的情况。

关于c++ - Mac 上的 QDir 绝对路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23707866/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com