Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/433.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
写入QVariantmap的int在Javascript中不是数字_Javascript_C++_Qt_Qtscript - Fatal编程技术网

写入QVariantmap的int在Javascript中不是数字

写入QVariantmap的int在Javascript中不是数字,javascript,c++,qt,qtscript,Javascript,C++,Qt,Qtscript,从一个可以从javascript访问的slot函数中,我返回一个QVariantMap,因为我希望将数据转换为包含一些原语的javascript对象 代码如下所示: QVariantMap MyObject::createResults() { QVariantMap ret; ret["num"] = 23948; ret["str1"] = QString("bla"); ret["str2"] = QString("blub"); return ret; }

从一个可以从javascript访问的slot函数中,我返回一个QVariantMap,因为我希望将数据转换为包含一些原语的javascript对象

代码如下所示:

QVariantMap MyObject::createResults()
{
  QVariantMap ret;
  ret["num"] = 23948;
  ret["str1"]   = QString("bla");
  ret["str2"]   = QString("blub");
  return ret;
}
  var myObj = new MyObject();
  var res = myObj.createResults();
  api.cout("typeof(res);      = " +typeof(res));      
  api.cout("typeof(res.num);  = " +typeof(res.num));  
  api.cout("typeof(res.str1); = " +typeof(res.str1)); 
  api.cout("typeof(res.str2); = " +typeof(res.str2)); 
调用脚本如下所示:

QVariantMap MyObject::createResults()
{
  QVariantMap ret;
  ret["num"] = 23948;
  ret["str1"]   = QString("bla");
  ret["str2"]   = QString("blub");
  return ret;
}
  var myObj = new MyObject();
  var res = myObj.createResults();
  api.cout("typeof(res);      = " +typeof(res));      
  api.cout("typeof(res.num);  = " +typeof(res.num));  
  api.cout("typeof(res.str1); = " +typeof(res.str1)); 
  api.cout("typeof(res.str2); = " +typeof(res.str2)); 
并生成以下输出:

typeof(res);      = object
typeof(res.num);  = object
typeof(res.str1); = string
typeof(res.str2); = string
在C++方面,我必须做什么?Type Fr.nUm是数字?< /P>
使用的版本是Qt 4.8.2

您正在做一些错误的事情,或者可能是Qt版本中的一个错误。在我的Qt5.3.1上构建它输出的数字。我在Qt4.8.5上也尝试过,结果相同。不幸的是,我不能使用Qt5,我不知道我做错了什么,但我认为这可能是一个错误。对于C++方面的解决方案有什么想法?幸运的是,在JS中使用Numberres.num确实给出了正确的数字,但它是在客户端。