一图掌握 QGC(GGroundControl) 核心系统架构

Posted 火山上的企鹅

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了一图掌握 QGC(GGroundControl) 核心系统架构相关的知识,希望对你有一定的参考价值。


关于QGC地面站其它文章请点击这里:     QGC地面站


● 直接上图:(点击图片放大看效果更好)

● 工程结构:

整个 QGC 工程由唯一的单例 _app 进行管理,它这个类只提供了唯一的实例,另外提供了一个访问它的全局函数

/// @brief Returns the QGCApplication object singleton.
QGCApplication* qgcApp(void)

    return QGCApplication::_app;

QGCTool 有两个 protected修饰的变量 _app_toolbox ,其派生类可以被调用,每一个派生类中的_app 和 _toolbox都是 QGCApplication 中传入的,且是唯一的(可以仔细看传入过程)

/// This is the base class for all tools
class QGCTool : public QObject 
    Q_OBJECT
	...
protected:
    QGCApplication* _app;
    QGCToolbox*     _toolbox;
;


● 在 QML 和 C++ 的交互中:

● QGCToolbox.h 中类的声明

最主要是防止互相包含

在class声明之后、定义之前的位置可以对class进行引用、定义类指针、定义类的函数指针、定义类的成员指针

不能有任何涉及类中成员对象的行为。防止互相包含,所以 不能是

#include MultiVehicleManager

而是

class MultiVehicleManager;

以上是关于一图掌握 QGC(GGroundControl) 核心系统架构的主要内容,如果未能解决你的问题,请参考以下文章

一图掌握 QGC(GGroundControl) 核心系统架构

一图掌握 QGC(GGroundControl) 核心系统架构

干货 | 一图掌握私募股权投资基金的8种架构设计

一图掌握bash shell编程

Hive分桶操作(Bucket)一图掌握核心内容

QGC 地面站中获取电压完整教程(QGC中无法获取APM电压)