C
qul_add_resource
警告:这个 CMake 命令自 2.4 版本以来已弃用,考虑使用 ImageFiles.files 代替。
将图像资源添加到目标。
摘要
qul_add_resource(<target> FILES file1 [file2...] [PREFIX <path>] [BASE <path>] [OUTPUT_DIRECTORY <path>])
描述
列出的文件变为可以从 QML 文件通过资源 URI 进行访问的资源。目前仅支持图像资源。
资源可以具有 CMake 源文件属性。必须在调用 qul_add_resource
之前设置这些属性。有关属性列表,请参阅 CMake 参考文档。
内部,资源描述会被收集并作为 JSON 文件传递到资源编译器 qulrcc。 qulrcc
为它们生成 C++ 文件,以及一个将资源名称映射到符号名称的 JSON 文件。C++ 文件被编译进目标,输出 JSON 文件被 qmltocpp 使用以查找资源名称并将符号引用发射到生成的代码中。
注意:qul_add_resource
必须与 qul_add_target
在相同的目录范围内使用。
选项
FILES
参数接受一个空格分隔的文件路径列表,相对于当前源目录。
您可以将 OUTPUT_DIRECTORY
选项设置为控制生成的文件放置的位置。如果路径是相对路径,它是相对于当前构建目录的。
可选的 PREFIX
路径为文件放入的资源 URI 添加一个前缀。例如,如果 PREFIX
是 "images" 并且 FILES
中的一个文件是 "map/small.png",则资源文件系统中的路径将是 "qrc:/images/map/small.png"。默认前缀是 "/"。
可选的 BASE
路径确定计算资源 URI 的锚点。例如,如果 BASE
是 "data" 并且 FILES
中的一个文件是 "data/images/foo.png",则资源文件系统中的路径将是 "qrc:/images/foo.png"。默认基路径是当前源目录。
CMake 源文件属性
注意:这些属性是通过 CMake 函数 set_source_files_properties
为单个资源设置的。要设置默认应用于所有资源的值,请使用 PREFIX_DEFAULT_<property>
,其中 PREFIX 为:QUL
或 QUL_PLATFORM
。在调用 qul_add_resource
之前必须设置源文件属性。
例如
# Store all images in compressed format by default, except for button.png set(QUL_DEFAULT_RESOURCE_COMPRESSION ON) set_source_files_properties(button.png PROPERTIES QUL_RESOURCE_COMPRESSION OFF) qul_add_resource(...)
示例
# Used in QML as "qrc:/button.png" and "qrc:/nav/arrow.png", # or simply as "button.png" and "nav/arrow.png". qul_add_resource(example_app FILES button.png nav/arrow.png)
set_source_files_properties(big/button.png PROPERTIES QUL_RESOURCE_COMPRESSION ON QUL_RESOURCE_OPTIMIZE_FOR_SCALE ON) # The resource path becomes "qrc:/images/button.png" qul_add_resource(example_app FILES big/button.png BASE big PREFIX images)
# Setting an image to be cached on demand with a custom memory allocator set_source_files_properties( big/button.png PROPERTIES QUL_RESOURCE_CACHE_POLICY "OnDemand" QUL_RESOURCE_STORAGE_SECTION "CustomSegment" QUL_RESOURCE_RUNTIME_ALLOCATION_TYPE "128" )
另请参阅 资源管理和 QUL_RESOURCE_IMAGE_PIXEL_FORMAT。
在特定的 Qt 许可下可用。
了解更多。