Qt for Android(四) —— QT 中如何添加 assest 资源文件

970 阅读1分钟

这是我参与8月更文挑战的第4天,活动详情查看:8月更文挑战

首先,要基于前面的基础,我们才能继续下面的文章,建议阅读。

Qt for Android(一) —— QT 中如何调用android方法

Qt for Android(二) —— QT 中调用自定义Android方法详细教程(获取Android设备的SN号)

Qt for Android(三) —— QT 中获取 Android 的Services,并调用需要Context参数的 c方法(设置音量、亮度等)

背景

在 QT for Android 开发中,有时候我们会碰到一些需求,比如有一些xml配置文件、字体文件、音乐文件等 ,在windows时我们可以放在本地文件夹下通过相对路径去访问,但是在android下怎么办呢?

解析

android Assest 资源文件是不会被压缩到 APK 中,并且Assest支持定义子目录的,类似于我们 QT 的 qrc 资源文件,不同的是 qrc 会被压缩到程序的二进制包中,包括QML。

首先,在 pro 文件中添加下面的代码:

android {
 	INSTALLS += conf
        conf.files += config/conf.ini
        conf.path = /assets/conf
}

其中,conf可自定义,即为 assest 文件下你资源文件的文件夹名称。conf.files为你 QT 项目要添加的资源文件的本地文件夹的路径,像下面这样:

在这里插入图片描述

在这里插入图片描述

然后conf.path = /assets/conf即为你要定义在assest下conf文件夹的路径。

上面该添加的添加,该新建的新建,完成之后,我们在 QT 中像这样去访问这个资源文件即可。

	QString strFilePath = "assets:/conf/conf.ini";
        QFile configFile(strFilePath);