MissionController.cc
_addMissionSettings(_visualItems,false);
_initAllVisualItems();
MissionController::_addMissionSettings(){
MissionSettingsItems*settingsItem=new MissionSettingsItem(_controllerVehicle,visualItems);
visualItems->insert(0,settingsItem);
//看MissionSettingsItem构造函数
}
//看MissionSettingsItem构造函数
MissionSettingsItem::MissionSettingsItem(Vehicle* vehicle,QObject *parent):ComplexMissionItem(x,x)
,_plannedHomePositionAltitudeFact(0,x,x)
...
...
{
_editorQml="qrc:/qml/MissionSettingsEditor.qml"
if(_metaDataMap.isEmpty()){
_metaDataMap=FactMetaData::createMapFromJsonFile
(
QStringLiteral(":/json/MissionSettings.FactMetaData.json")
)
_plannedHomePositionAltitudeFact.setMetaData(_meta...)
_plannedHomePositionAltitudeFact.setRawData(_meta...)
}
...
...
_cameraSection.setAvailable(true);
_speedSection.setAvailable(true);
...
}
在MissionSettingsEditor.qml中
//QmlObjectListModel.h中
private:
QList<QObject*>_objectList;
本文详细解析了MissionController中设置项的实现原理,包括MissionSettingsItem的构造过程及MissionSettingsEditor.qml文件的作用。通过深入代码层面,展示了如何插入设置项并初始化视觉元素。
1455

被折叠的 条评论
为什么被折叠?



