QGC中QGCTool

QGCToolBox

QGCToolbox继承自QObject。
私有属性

public:
    QGCToolboxQGCToolbox(QGCApplication *app);
FirmwarePluginManager *firmwarePluginManager(void){
    return _firmwarePluginManager;
} 
GAudioOutput * audioOutput(void){
    return _audioOutput; 
}
private:
        void    setChildToolboxes(void);
        void _scanAndLoadPlugins(QGCApplication *app);

    frined class QGCApplication;

QGCTool

class QGCTool:public QObject{
    Q_OBJECT
public
    //all tools必须继承自QGCToolBox
    //经过2个步骤
    //1.构造方法中toolbox作为参数传递到QGCTool的构造方法参数
    //不能够使用引用传递或者用protected修饰
    QGCTool(QGCApplication *app,QGCToolbox* toolbox);

    //2.调用setToolbox方法
    virtual void setToolbox(QGCToolbox * toolbox);
    如果重写了此虚函数,那么必须调用base class

protected:
    QGCApplication* _app;
    QGCToolbox* _toolbox;

}

你可能感兴趣的:(QGC,QGC)