关于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;
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)