QGC地面站手把手教你改——如何添加qmldir模块文件
QGC中手把手教你添加qmldir模块
- 1. 新建qmldir文件
- 2. 新建QML文件
- 3. qrc中添加qmldir和QML文件
- 4. 修改qmldir和QML文件
- 5. 如何使用
- 6. pro文件导入QML模块的路径
- 7. 安装模块路径
所有的热爱都要不遗余力,真正喜欢它便给它更高的优先级,和更多的时间吧!
关于QGC地面站其它文章请点击这里: QGC地面站
如果有帮助到您,还请点赞+关注哦,感谢感谢!!!
姊妹篇:
Qt QML 模块化管理(三)—— qmldir的化繁为简
QT QML 模块化管理(二)——前缀(Prefix)和别名管理
QT QML 模块化管理(一)——添加工程组(文件组)
QGC地面站——Release下模块未安装(module “QGroundControl.xxx“ is not installed)
1. 新建qmldir文件
打开源码文件夹,直接复制FlightDisplay文件夹改名为QmldirTest,里面只有一个qmldir文件:
2. 新建QML文件
src下新建QmldirTest文件夹,然后在该文件夹下新增 “TestQml1.qml” 文件,如下:
要添加在 /qml的前缀下:
3. qrc中添加qmldir和QML文件
具体步骤如下,其一添加上面1 2中的qmldir和qml文件,其二再修改别名使得都在QmldirTest下,其三记得“ctrl + s” 保存qgroundcontrol.qrc,再左侧就会自动出现在QmldirTest同一文件下。
4. 修改qmldir和QML文件
QmldirTest\qmldir 中:
Module QGroundControl.QmlTest #声明模块的模块标识符,必须与模块的安装路径匹配,必须是文件的第一行#依次为类型名称 | 类型的模块版本 | QML文件名(这里还有可选参数[singleton]用于声明单例类型)
TestQml1 1.0 TestQml1.qml
QmldirTest\TestQml1.qml 中:
import QtQuick 2.0
import QtQuick.Controls 2.5Rectangle {anchors.top: parent.topanchors.topMargin: 20anchors.horizontalCenter: parent.horizontalCenterwidth: labeltest.implicitWidth * 1.2height: labeltest.implicitHeight * 1.5color: "green"radius: height / 2border.width: 2border.color: "black"Label {id: labeltestanchors.centerIn: parenttext: "qmldir 模块添加测试!"color: "white"font.bold: truefont.pointSize: 14}
}
5. 如何使用
FlightDisplayView.qml 中导入模块:
最后一行调用 TestQml1 :
代码:
//qgroundcontrol\src\FlightDisplay\FlightDisplayView.qml:
import QGroundControl.QmldirTest 1.0
...// 最后一行调用TestQml1
TestQml1 {}
如下,执行后TestQml1被执行
当然中间也还有两个步骤是qmldir模块的关键,且看第6和第7点,QGC已经写了,我们只需知道在哪就好。
6. pro文件导入QML模块的路径
(无需操作)
如下, qgroundcontrol.pro 中指定 QML_IMPORT_PATH 的路径为 $$PWD/src/QmlControls
即:
每个文件夹下只有一个qmldir文件
7. 安装模块路径
(无需操作)
如下,执行 pEngine->addImportPath(“qrc:/qml”); 即可。
绿色框,为QGC加载整个QML界面的根文件,可点击这里进一步了解:QGC源码分析——UI界面的启动流程(从mian.cc到五大视图) ,安装模块一定需要在根文件启动前执行。
好了,到此为止,你也尝试一下吧~
如果在Release下遇到了模块未安装的bug,可以看看这里:QGC地面站——Release下模块未安装(module “QGroundControl.xxx“ is not installed)
关于QGC地面站其它文章请点击这里: QGC地面站
如果有帮助到您,还请点赞+关注哦,感谢感谢!!!
姊妹篇:
Qt QML 模块化管理(三)—— qmldir的化繁为简
QT QML 模块化管理(二)——前缀(Prefix)和别名管理
QT QML 模块化管理(一)——添加工程组(文件组)
QGC地面站——Release下模块未安装(module “QGroundControl.xxx“ is not installed)
QGC地面站手把手教你改——如何添加qmldir模块文件相关推荐
- QGC地面站手把手教你改——如何添加跟随面板显示关键参数
如何添加跟随面板显示关键参数 一. 要实现的目标 二. 代码分析与修改 1. 飞行地图文件的分析与修改 2. 代理文件中数据源 3. 代理文件中显示形式 所有的热爱都要不遗余力,真正喜欢它便给它更高的 ...
- QGC(QGroundControl)地面站手把手教你改——高德地图的添加和瓦片地图在线资源
如何添加高德地图和瓦片地图在线资源 1. 演示效果 2. 代码添加 3. 瓦片地图在线资源 3.1 高德地图 3.2 天地图 3.3 其它地图源相关链接 所有的热爱都要不遗余力,真正喜欢它便给它更高的 ...
- ConvNeXt:手把手教你改模型
作者:镜子(香港中文大学 计算机科学硕士) 本文经过作者同意转载 A ConvNet for the 2020s 我愿称之为2022年cv算法工程师抄作业必备手册,手把手教你改模型,把ResNet50 ...
- 手把手教你如何用Python从PDF文件中导出数据(附链接)
作者:Mike Driscoll :翻译:季洋:校对:丁楠雅 本文约4000字,建议阅读10分钟. 本文介绍了在提取出想要的数据之后,如何将数据导出成其他格式的方法. 有很多时候你会想用Python从 ...
- 手把手教你如何Vue项目打包dist文件并Tomcat发布【超级详细】
???作者:bug菌 博客:CSDN.掘金等 ??公众号:猿圈奇妙屋 ??特别声明:原创不易,转载请附上原文出处链接和本文声明,谢谢配合. ??版权声明:文章里可能部分文字或者图片来源于互联网或者百度 ...
- keil5改工程名称_修改Keil工程名称并添加其他模块文件
学习目标 在上一篇文章 <基于STM32固件库的MDK5工程建立> 基础上,将Keil工程名称Template修改为Usart 添加延时函数文件及串口1的实现文件 main.c文件中测试p ...
- 手把手教你学javaweb(五)文件的上传和下载
javaweb项目文件的上传和下载 在进行文件的上传和下载之前,我们先把javaweb项目做一点点的改动,那就是将LoginServlet的跳转由原来的forward方式改为 redirect方式 ...
- matlab建立mex,手把手教你在VC++中建立MEX文件及调试
在Visual C++中建立MEX文件及调试 在Matlab环境中可以方便的编辑MEX文件,而编译MEX文件只要一句mex命令,所以一般不需要VC++环境来建立MEX文件.但对于大型的MEX程序,可能 ...
- Node.js 高级篇(六):手把手教你使用和理解 Multer 实现文件上传,包懂 O(∩_∩)O~
文章目录 前端 界面 代码 服务端 启动服务 文件信息 Multer 中间件 Multer(options) .single(fieldname) .array(fieldname[, maxCoun ...
最新文章
- FCKeditor的使用说明
- yum 卸载php及依赖包,yum使用指南-软件卸载、安装、更新、获取软件包
- 让XP远程桌面支持多用户
- MFC CEdit 自动换行功能
- break、continue、return的区别
- 剖析疫情环境下的国内云市场:大势所趋,正是大展拳脚的好时机!
- matlab怎么画二维热力图_[原创]Day3.箱线图和热力图的绘制
- 转:谈谈Unicode编码,简要解释UCS、UTF、BMP、BOM等名词
- Android View.onMeasure方法的理解
- 区块链浏览器_YOYOW正式发布更新版本区块链浏览器
- spring-cloud熔断和负载均衡
- OLTP与OLAP介绍
- IDEA - Live Template
- centos安装mysql8及一些问题解决
- PMP考试中一些解题思路
- 什么是负反馈电路?微分.积分电路?“自激”现象?
- MES管理系统应用环境分析,以及实施面临的挑战
- 一键智能抠图-原理实现
- 打开win10电脑的蓝牙
- android红米机型适配,#MIUI#关于红米手机4高配版 Android版本适配的说明【miui9吧】_百度贴吧...