首页 > 解决方案 > 是否可以在 Qt 资源文件中使用系统环境变量?

问题描述

我想从另一个项目中导入一些资源而不复制到我的项目目录中。环境变量ANOTHER_PROJECT_DIR存储另一个项目的路径。

我试图做这样的事情:

<file>%ANOTHER_PROJECT_DIR%/file</file>

或这个:

<file>$$(ANOTHER_PROJECT_DIR)/file</file>

在我的 qrc 文件中。

那么是否可以在 Qt 资源文件中使用系统环境变量,我该怎么做呢?

找到跨平台解决方案会很棒

标签: qtqmake

解决方案


qrc资源文件是一个静态二进制资源链接。你不能动态地做到这一点。但是,您可以从您的代码中执行类似的操作

#include <QProcessEnvironment>
...
somefunc(){
   QString env = qgetenv("SOME_VAR");   
   QString filepath = env + "/path/to/file";

...
}

推荐阅读