一图掌握 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) 核心系统架构