如何在没有Qt项目的情况下在Visual Studio中使用Qt资源文件?

时间:2019-05-08 07:29:00

标签: c++ visual-studio qt

我想在程序中使用Qt的资源系统。在加载非文本文件(如.png,.bmp,.jpeg等)时,Visual Studio的资源系统使我头疼。我已经阅读了一些有关Qt的文章,这似乎非常有趣。我想使用它的资源系统。我已经下载了Qt Visual Studio Tool扩展。我还制作了一个资源文件,其中包含要嵌入可执行文件(不是Qt的可执行文件)的文件。我做了一个Visual Studio项目,而不是Qt项目。我安装扩展程序的唯一原因是将资源嵌入到可执行文件中并访问它们。另外,如果可能的话,我想在我的非Qt项目中包括Qt的标头,这样我就可以轻松注册和阅读这些资源。 简而言之,这就是我想要做的:

  1. 使用Qt将我的资源嵌入可执行文件中。
  2. 访问我程序中的那些文件。

类似这样的东西:

#include <Qtheaderfiles>

struct FileData {
    unsigned char* bytes;
    unsigned int size;
};

FileData loadFromResource(const std::string& res) {
    QtFile file(res);

    //get all the data from the file and return it in bytes.
    return FileData { fileBytes, fileSize };
}

我希望以上代码即使在“ res”目录中没有实际文件的情况下也可以编译,因为所有资源都已嵌入到可执行文件中。

1 个答案:

答案 0 :(得分:0)

跳过Qt documentation on resources

  1. 创建一个.qrc文件,其中包含要包含的资源列表
  2. 创建一个自定义构建步骤,以对该文件(documentation)调用rcc
  3. 编译生成的cpp源文件并将其链接到您的程序中。