OpenHarmony开源鸿蒙Qt环境搭建与工程配置实例|触觉智能鸿蒙开发板
本开源鸿蒙OpenHarmony是一款开源分布式操作系统,生态体系持续完善。Qt作为成熟跨平台图形开发框架,OpenHarmony SIG 社区(简称SIG社区)完成与Qt适配,为图形界面、工业 HMI 开发带来更多方案选择。下文将分两大模块完整讲解:开发环境部署配置、Qt Quick 工程创建与实例调试,并基于触觉智能Purple Pi OH开发板演示。

Qt跨平台开发框架
Qt是基于C++ 的跨平台开源应用程序开发框架,专注于图形用户界面和非GUI程序的构建。它提供丰富的GUI控件库和高级功能模块(如网络通信、数据库访问、多媒体处理),并采用独特的信号与槽机制实现高效组件通信。支持OpenGL、Vulkan等图形接口,以及针对嵌入式系统的EGLFS无窗口模式和LinuxFB帧缓冲等,开发者可根据目标平台选择灵活的渲染策略。

本文所用Qt for OpenHarmony SDK,由SIG社区基于Qt5.15独立开发、长期维护的开源项目,非Qt官方版本:
社区项目地址:https://gitcode.com/openharmony-sig/qt

环境搭建与配置
想要在OpenHarmony开源鸿蒙开发板上运行 Qt Quick 程序,首先要完成基础开发环境部署,整体分为两项前置准备工作:
接下来将完整讲解环境搭建步骤,并手把手创建可运行的 Qt Quick Demo 工程。
-
安装DevEco Studio替换配套Full SDK
关于DevEco Studio安装、Full SDK 替换的详细流程,触觉智能此前已更新对应教程,欢迎大家关注触觉智能CSDN往期内容
-
获取 Qt for OpenHarmony SDK
SDK下载链接:https://gitcode.com/openharmony-sig/qt/releases
重点注意版本匹配规则:本地OpenHarmony SDK的API 版本不能低于Qt SDK 要求的最低API 版本。完成后即可创建Qt Quick工程验证。
Qt Quick工程配置与配置
-
创建工程
1、打开Deveco新建项目,选择Native C++类型的模板工程进行创建:

说明:
修改工程名称,并根据实际情况选择工程最终需要运行的设备类型;
Bundle name为应用唯一标识需确保不和其它应用冲突;
Save location可自行选择工程路径;
Compatible SDK可根据设备的API版本号自行修改,主模块名称可自行修改;
2、修改为OpenHarmony工程
工程创建后,需要修改工程级 build-profile.json5 文件:

点击“Sync Now”同步工程,在弹出的确认框中点击“Yes”完成设备类型切换。
-
Qt Quick工程配置
1、修改Native编译配置
找到模块(通常是entry)下的build-profile.json5文件,修改 externalNativeOptions:
arguments: 指定你的Qt SDK绝对路径(-DQT_PREFIX=你的SDK路径)
abiFilters: 指定设备架构(如["arm64-v8a"])

2、拷贝依赖文件
拷贝ets文件:将Qt SDK目录下的openharmony/qtbase文件夹内所有内容,复制并替换到工程src/main/ets目录下。
3、拷贝平台插件:
将Qt SDK下的
plugins/platforms/libplugins_platforms_qopenharmony.so 文件拷贝到 libs/arm64-v8a 目录下。

4、拷贝qml资源:
● 将Qt SDK下的 qml目录内这几个文件,拷贝到 libs/arm64-v8a 目录下(库依赖)
● 将Qt SDK下的 qml目录内这几个文件,拷贝到 src/main/resources/resfile 目录下(资源文件)。
注意是resfile,不是rawfile,否则会出现应用闪退现象。

5、配置UIAbility
确保module.json5文件中,EntryAbility的 "launchType" 设置为 "specified"(指定实例模式,适用于多窗口)。
module.json5文件配置UIAbility组件,这是应用的入口。“launchType”: "specified"表示该UIAbility为指定实例模式,若工程需要打开多个窗口时,应将launchType指定为specified。
{
"module": {
"name": "entry",
"type": "entry",
"srcEntry":"./ets/abilitystage/MyAbilityStage.ets" ,// 关键配置
// ...
"abilities": [
{
"name": "EntryAbility",
"launchType": "specified", // 关键配置
// ... 其他配置
}
]
}
}
-
Qt Quick Demo演示
完成全部工程配置后,即可开展Qt Quick界面开发,大家可参考触觉智能配套 Demo 查看实际运行效果:
https://www.bilibili.com/video/BV1zB7Y6TENz/?spm_id_from=333.1387
更多推荐




所有评论(0)