Presuming "HXT_V_FT04" is your key, the value will be a ModelVariables struct. You can access that struct either with square brackets, which will create a value if it doesn't exist, or use .at().
For example
if(ModelMap.contains("HXT_V_FT04"))
{
ModelVariables mystruct = ModelMap.at("HXT_V_FT04");
float hxt_val_ft04 = mystruct.value;
}
This is the same as
if(ModelMap.contains("HXT_V_FT04"))
float hxt_val_ft04 =ModelMap.at("HXT_V_FT04").value;
Alternatively:
// create mystruct if it doesn't exist
ModelVariables mystruct = ModelMap.at["HXT_V_FT04"];
float hxt_val_ft04 = mystruct.value;
Edit:
Based on the typenames etc you have provided, I think you need something that looks like this:
// declare the map
Map<QString,ModelVariables> ModelMap;
ModelVariables MVar;
QString key = "HXT_V_FT04";
// assign to Mvar.value
MVar.value = 10.0;
// insert into the map
ModelMap.insert(key, MVar);
// do something
// read back the value in MVar
float val = ModelMap.at(key).value;
//or
float val = ModelMap[key].value;
//or
float val = ModelMap["HXT_V_FT04"].value;
// or
ModelVariables mystruct = ModelMap["HXT_V_FT04"];
float val = mystruct.value;