C

Qt Quick Ultralite 文件加载示例

演示了如何从外部存储加载资源。

概述

本示例展示了如何使用文件系统从 SD 卡读取存储的资源。

示例包括一个简单的屏幕(fileloading.qml),显示了四个不同的历史 Qt 标志。最左边的图像是应用程序二进制文件中包含的常规资源,而其他三个则是从文件系统中读取并存储在 مختلف تب formatting.

目标平台

在设备上运行示例

构建示例后,从文件系统加载的资源位于构建文件夹中的 CMakeFiles/fileloading.dir/resources/logos 文件夹包含需要复制的图像和一些有关创建的资源的信息。将包含图像的 logos 文件夹复制到 SD 卡的根目录。运行时不需要文本文件,可以跳过。

项目结构

示例包含 STM32 和 NXP 平台的 FatFS 文件系统 API 实现,以及针对 Windows 和 Linux 主机的 desktop 文件夹中的 Posix 实现。

os/baremetalos/freertos 中的 main 函数将调用一个必须为板实现 ConfigureBoard() 函数。该函数必须设置 SD 卡硬件并注册文件系统到 Qt Quick Ultralite。

此函数的实现位于平台命名的子文件夹(desktop、stm、nxp)中的 board_config.cpp

3rdparty 文件夹包含由其他方提供的辅助代码,如嵌入式设备的 FatFS 实现。

fatfs/fatfsfilesystem.h 包含 FatFS 代码与 Qt Quick Ultralite API 的 API 集成。有关如何将自定义文件系统与 Qt Quick Ultralite 集成的详细信息,请参阅文件系统集成

从文件系统中使用图像

在 QML 中,可以使用 file:// 协议从文件系统中访问图像文件。

Image {
    source: "file://logos/2008.png"
}

资源将转换为针对目标设备进行渲染优化的格式。

ImageFiles {
    files: [ "2008.png" ]
    MCU.prefix: "logos"
    MCU.resourceAsFile: true
    MCU.resourceCompression: false
}

要将资源作为文件资源使用,您需要启用属性 MCU.resourceAsFile。您还可以应用在《资源管理》中描述的其他资源属性,例如向图像路径添加前缀或启用RLE压缩。

文件

图像

参见 Qul::PlatformInterface::FilesystemQul::PlatformInterface::File

在某些Qt许可证下可用。
了解更多。