一图掌握 QGC

一图掌握 QGC,第1张


关于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;

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/577679.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-04-11
下一篇 2022-04-11

发表评论

登录后才能评论

评论列表(0条)

保存