首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在代码中引用Resources文件夹

如何在代码中引用Resources文件夹
EN

Stack Overflow用户
提问于 2009-02-21 18:48:14
回答 4查看 7.1K关注 0票数 2

我正在将一个c++ Qt应用程序从Windows移植到OSX,并且无法理解.app捆绑包的概念。我希望有人能帮我理解。

我的可执行文件位于以下位置: MyProgram.app/Content/MacOS/MyProgram.exe

我的资源文件夹在这里: MyProgram.app/Content/Resources/

在我的代码中,我使用相对路径来引用资源文件夹中的项:

“../Resources/omething.png”

如果我打开.app包并直接运行.exe,效果会很好。

但这不是.app捆绑包的工作方式。用户应该单击查找器中的.app包来运行程序。但在这种情况下,我的相对路径不再有效,这就是我不理解的地方。

有没有人理解我的问题以及我如何解决它?

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2009-02-22 14:19:33

代码语言:javascript
运行
复制
QApplication::applicationDirPath()

http://doc.qt.io/qt-5/qcoreapplication.html#applicationDirPath

票数 5
EN

Stack Overflow用户

发布于 2009-02-23 10:23:57

我们使用:

代码语言:javascript
运行
复制
QDir
CoreDir::bundle()
{
    // Trolltech provided example
    CFURLRef appUrlRef = CFBundleCopyBundleURL( CFBundleGetMainBundle() );
    CFStringRef macPath = CFURLCopyFileSystemPath( appUrlRef, kCFURLPOSIXPathStyle );
    QString path = CFStringToQString( macPath );
    CFRelease(appUrlRef);
    CFRelease(macPath);
    return QDir( path );
}

CoreDir::bundle().filePath( "../Resources“)也是如此;

票数 3
EN

Stack Overflow用户

发布于 2009-02-21 18:53:39

在编译产品时,是否尝试将Resources的路径设置为相对路径?否则,您可以检索主包及其应用程序的URL,并将其附加到资源URL。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/573540

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档