QGC二次开发入门教程(一):课程大纲

文章目录

  • 前言
  • 一、课程大纲
  • 二、修改软件名称
  • 三、修改软件图标
  • 四、官方QGC中文版BUG修复
  • 五、汉化
  • 六、修改商标
  • 七、添加信号-槽
  • 八、添加QML和C++交互
  • 九、MAVLINK的解析与发送
  • 十、换地图
  • 十一、添加自定义mavlink消息
  • 十二、在主工具栏添加一个自定义图标
  • 十三、解析自定义mavlink数据并在自定义图标上显示
  • 十四、同时显示多机轨迹
  • 十五、在地图上画一个点

前言

QGC版本:4.2.4稳定版
需要的基础:少量的C++、QT基础
飞控固件:PX4、Ardupilot

课程答疑微(18362086993)

课程所用虚拟机(已配置好开发环境)

链接:https://pan.baidu.com/s/12zes9Jk2OB_c2ghNsAKv1w?pwd=7o4u
提取码:7o4u
–来自百度网盘超级会员V6的分享

VMware下载(使用VM17)
链接:https://pan.baidu.com/s/1lBCMX1O3U-T64gzM5c0IYg?pwd=ylf6
提取码:ylf6
–来自百度网盘超级会员V6的分享

虚拟机的安装和打开:
https://cwkj-tech.yuque.com/bsge84/uav-m1/cuut9sq5sci8c5wr#rdB9k

独家汉化版QGC下载地址:
链接:https://pan.baidu.com/s/16G97kfid-tDQq2kZCEYjnQ?pwd=es97
提取码:es97
–来自百度网盘超级会员V6的分享

编译环境安装可以参考:

6.1、QGC编译环境安装(ubuntu)

课程目录(暂时想到这么多,后续会不断更新)

一、课程大纲

二、修改软件名称

改一行代码就行
修改
QGCApplication.cc

setApplicationName("cwkj");

在这里插入图片描述
修改后效果如下:

在这里插入图片描述

三、修改软件图标

添加图片资源
新建一个文件夹img_add,放入需要添加的图片资源
在这里插入图片描述

然后在qgcimages.qrc中点击添加->添加文件,选择上面添加的图片,然后填写别名,回车然后ctrl+s保存qgcimages.qrc

在这里插入图片描述
在这里插入图片描述
然后就可以在程序中使用添加的图片了,注意程序中填写的是图片的别名
修改主工具栏图标:
修改MainToolBar.qml,在下图位置修改图片资源的路径为自己添加的资源(以软件设置按钮为例):

icon.source:            "/qmlimages/软件图标.png"

在这里插入图片描述
效果如下:
在这里插入图片描述
修改软件设置图标:
修改MainRootWindow.qml
需要修改两个地方:

showTool(qsTr("Application Settings"), "AppSettings.qml", "/qmlimages/软件图标.png")

在这里插入图片描述

imageResource:      "/qmlimages/软件图标.png"

在这里插入图片描述

四、官方QGC中文版BUG修复

QGC中文bug解决教程

五、汉化

六、修改商标

七、添加信号-槽

八、添加QML和C++交互

九、MAVLINK的解析与发送

十、换地图

十一、添加自定义mavlink消息

十二、在主工具栏添加一个自定义图标

十三、解析自定义mavlink数据并在自定义图标上显示

十四、同时显示多机轨迹

十五、在地图上画一个点

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/48685.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

SVN文件夹没有图标(绿钩子和红感叹号)

3分钟教会你解决SVN文件夹没有绿勾和红色感叹号的问题_svn文件被改动过不显示红色-CSDN博客https://blog.csdn.net/weixin_43382915/article/details/124251563 关于SVN状态图标不显示的解决办法(史上最全) - 简书 (jianshu.com)https://www.jianshu.com/p/92e8e1f345c0

人工智能与机器学习原理精解【6】

文章目录 数值优化基础理论凹凸性定义在国外与国内存在不同国内定义国外定义总结示例与说明注意事项 国内凹凸性二阶定义的例子凹函数例子凸函数例子 凸函数(convex function)的开口方向凸函数的二阶导数凸函数的二阶定义单变量函数的二阶定义多变量函数…

基于springboot+vue+uniapp的网上花店小程序

开发语言:Java框架:springbootuniappJDK版本:JDK1.8服务器:tomcat7数据库:mysql 5.7(一定要5.7版本)数据库工具:Navicat11开发软件:eclipse/myeclipse/ideaMaven包&#…

FreeSWITCH 1.10.10 简单图形化界面26-在网页上播放SIP设备视频

​ FreeSWITCH 1.10.10 简单图形化界面26-在网页上播放SIP设备视频 1、前言2、大概流程3、测试环境4、安装流媒体服务器5、设置流媒体服务器接口6、简单写个web接口7、测试一下1、web播放在线播放器1在线播放器2本地video控件 2、vlc播放vlc播放rtmpvlc播放rtsp 8、总结 1、前…

https改造-python https 改造

文章目录 前言https改造-python https 改造1.1. https 配置信任库2. 客户端带证书https发送,、服务端关闭主机、ip验证 前言 如果您觉得有用的话,记得给博主点个赞,评论,收藏一键三连啊,写作不易啊^ _ ^。   而且听说点赞的人每…

【项目日记(三)】梦幻笔耕-博客模块

❣博主主页: 33的博客❣ ▶️文章专栏分类:项目日记◀️ 🚚我的代码仓库: 33的代码仓库🚚 🫵🫵🫵关注我带你了解更多项目内容 目录 1.前言2.获取博客列表3.获取博客详情4.新增博客5.更新博客6.删除博客7.拦截器9.统一处…

日常开发记录分享-SQL中的partition分区功能使用

文章目录 需求来源实现思路实施SQL 语句结构内部查询(子查询)外部查询 结果 partition的升级使用解释 验证一下看看分区 分区的一些操作1. 普通查询2. 分区表上的查询优化3. 插入数据4. 删除分区中的数据5. 分区维护操作添加新的分区删除分区重组分区 6.…

银河麒麟服务器V10 SP3 安装人大金仓V009R001C001B0030

原文链接:银河麒麟服务器V10 SP3 安装人大金仓V009R001C001B0030 Hello,大家好啊,今天给大家带来一篇关于在银河麒麟服务器V10 SP3上安装人大金仓V009R001C001B0030的文章。人大金仓是国内知名的数据库管理系统,它在高性能、高可靠…

【C++】标准库:介绍string类

string 一.string类介绍二.string类的静态成员变量三.string类的常用接口1.构造函数(constructor)2.析构函数(destructor)3.运算符重载(operator)1.operator2.operator[]3.operator4.operator 4.string的四…

算法从零到精通 (一) ~ 快慢双指针

1. 前言 快慢双指针是一种常用的算法技巧,通常用于解决涉及链表或数组的问题。它的基本思想是使用两个指针,一个移动速度快(快指针),一个移动速度慢(慢指针),来解决特定的问题。这两…

Docker搭建群晖

Docker搭建群晖 本博客介绍在docker下搭建群晖 1.编辑docker-compose.yml文件 version: "3" services:dsm:container_name: dsmimage: vdsm/virtual-dsm:latestenvironment:DISK_SIZE: "16G"cap_add:- NET_ADMIN ports:- 8080:50…

c# 端口监控 Helper 以及写一个端口监控工具

c# 端口监控 Helper 以及写一个端口监控工具 介绍核心代码:工具完整编码:1、编写界面2、打开定时控件的属性设置。3、编写定时控件的 Tick 事件结果(运行效果) 介绍 由于最近做上架比较多,会经常来确保服务器的服务&a…

Flink时间和窗口

目录 时间语义 水位线(Watermarks) 并行流中的水位线 窗口 滚动窗口—Tumbling Windows 滑动窗口—Sliding Windows 会话窗口—Session Windows 全局窗口—Global Windows 例子 时间语义 如图所示,由事件生成器(Event Pr…

萤石举办2024夏季新品发布会,全力推进“2+5+N”智能家居新生态

7月24日,“智动新生,尽在掌控”2024萤石夏季新品发布会在杭州成功举办。本次发布会上,“智慧生活守护者”萤石深入挖掘应用场景,重磅发布了包括智能健康手表、智能家居AI主机、生态控制器、智家APP等多款创新性的产品及应用&#…

【JavaScript】`Map` 数据结构

文章目录 一、Map 的基本概念二、常见操作三、与对象的对比四、实际应用场景 在现代 JavaScript 中,Map 是一种非常重要且强大的数据结构。与传统的对象(Object)不同,Map 允许您使用各种类型的值作为键,不限于字符串或…

基于 HTML+ECharts 实现监控平台数据可视化大屏(含源码)

构建监控平台数据可视化大屏:基于 HTML 和 ECharts 的实现 监控平台的数据可视化对于实时掌握系统状态、快速响应问题至关重要。通过直观的数据展示,运维团队可以迅速发现异常,优化资源配置。本文将详细介绍如何利用 HTML 和 ECharts 实现一个…

关于 夜莺n9e 的简易部署

一、部署夜莺n9e 1.找一个服务器机器 #创建并进入目录 mkdir -p /data/n9e && cd /data/n9e2.准备n9e安装包 (如果存在,跳过) #下载并解压n9e wget https://download.flashcat.cloud/n9e-v6.7.3-linux-amd64.tar.gz tar -zxvf n9e-v6.7.3-linux-amd64.ta…

JL 跳转指令的理解

一般情况下,JU 和 JC 是最常见的跳转指令;但有时会用到JL 指令,JL 说起来更像是一组指令,类似C,C# 语言中的 switch case 语句,但是有个明显的不同,前者的判断条件可以是任意合理数字,后者范围…

制冷系统干燥过滤器

干燥过滤器(Drier Filter)主要是起到杂质过滤的作用。一般来说,这要根据冰箱、空调的制冷系统来确定干燥器的规格,如直径,内径,外径的规格,和内部件,如过滤碗,网布,和分子筛 为了确保…

C#测试控制台程序调用Quartz.NET的基本用法

Quartz.Net是常用的任务调用框架之一,既能在客户端程序中使用,也支持在网页程序后台调用。本文结合参考文献4中的示例代码学习其在控制台程序中的基本用法。   VS2022新建控制台项目,在Nuget包管理器中搜索并安装Quartz包,如下所…