说明
qml没办法直接访问结构体的数据,这里我使用QMap嵌套QVariantMap的方法。
步骤
- 定义QMap和QVariantMap的对象(.cpp)
QVariantMap qVMap; //存储结构体的每条数据
QMap<int,QVariantMap> qMap; //存储qVMap
- 先将需要的数据存入qVMap,再将qVMap压入qMap,相当于map套map(.cpp)
qVMap.insert("targetRollAngle" ,jo.value("targetRollAngle").toInt());
qMap.insert(i_TimeKey,qVMap);
- 写函数方法将数据反出去(.cpp)
QString JsonFile::getQVariantMapData(int _id,QString _type)
{
return qMap[_id][_type].toString();
}
- 调用(.qml)
第一个参数是qMap的Key,第二个参数是qVMap的Key
$J.getQVariantMapData(pcp_ROOT.time_Slider.value,"targetXSpeed")