分享

qt5_add_resources 如何使用

 太昊太 2024-03-30 发布于河南

在使用 CMake 构建 Qt 项目时,`qt5_add_resources` 函数用于将 Qt 资源文件(.qrc)添加到你的项目中。这些资源文件可以包含应用程序需要的各种文件,例如图像、翻译文件或者其他静态数据,这些文件会被编译进最终的可执行文件中。


### 如何使用 qt5_add_resources


首先,确保在你的 CMakeLists.txt 文件中找到合适的位置包含 Qt5 的 CMake 模块,通常这通过 `find_package` 函数完成:


```cmake

find_package(Qt5 COMPONENTS Core Gui Widgets REQUIRED)

```


这里 `Core`, `Gui`, `Widgets` 是根据你项目的需要,可能还需要包含其他如 `Network`, `Qml`, `Quick` 等模块。


然后创建一个 Qt 资源文件(.qrc)。Qt 资源文件是一个 XML 文件,列出了要包含在应用程序中的资源。例如,你的资源文件 `resources.qrc` 可能看起来像这样:


```xml

<RCC>

    <qresource prefix="/images">

        <file>icons/logo.png</file>

    </qresource>

</RCC>

```


此文件指示 Qt 构建系统将 `icons/logo.png` 文件作为资源包含到程序中,并通过前缀 `/images` 访问它。


现在,你已经有了一个资源文件,使用 `qt5_add_resources` 函数在 CMakeLists.txt 文件中添加它:


```cmake

qt5_add_resources(RESOURCE_FILES resources.qrc)

```


这里 `RESOURCE_FILES` 是生成的资源文件名,`resources.qrc` 是你的 Qt 资源文件。


最后,确保将生成的资源文件添加到你的可执行文件中:


```cmake

add_executable(your_application_name main.cpp ${RESOURCE_FILES})

```


完成以上步骤后,当你的应用程序编译时,Qt 的构建系统会处理 `.qrc` 文件,将其中列出的资源编译进最终的可执行文件中。在应用程序代码中,你可以通过资源文件指定的路径访问这些资源,如:


```cpp

QPixmap logo(":/images/icons/logo.png");

```


### 注意事项


- 确保资源文件的路径正确无误,在资源文件中指定的文件应该相对于 `.qrc` 文件的位置或者项目的根目录。

- 如果你在使用 Qt 6,建议使用 `qt_add_resources()` 函数,这是 Qt6 中推荐的方式。

- 当项目中使用多个 `.qrc` 文件时,可重复使用 `qt5_add_resources` 函数,为每个资源文件调用一次。


通过正确使用 `qt5_add_resources`,你可以方便地管理并将资源编译到 Qt 应用程序中,使资源访问更为便捷和高效。

    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多