关于QT中evaluateJavaScript()函数返回值的处理问题 - 寒风问雪的专栏 - 博客频道 - CSDN.NET

分类: QT 2012-08-17 21:28 851人阅读 评论(0) 收藏 举报

                                     关于QT中evaluateJavaScript()函数返回值的处理问题 

 
 

by 寒风问雪

 

在QT中我们可以通过evaluateJavaScript()函数很方便的执行js语句,evaluatejavascript()函数返回的是js脚本文件的最后一行执行的结果,这个结果可以一个字符,数值,也可以是一个数组,甚至是一个js对象。返回的结果保存在QVariant中。通过实验对于单个变量,QVariant可以很好地处理,也可以很方便转换为其他类型,但实际中我们返回的有可能是一个数组,在js中,数组也是一个特殊的对象,对于数组,QVariant就不能很好的处理了。

我采用以下技巧解决了这个问题

首先利用QVariant中的成员函数type()可以得到返回的js数组在QVariant中是一个什么类型的数据,经过调试发现,是一个QVariantLIst型。这样就好办了,我们只需定义一个QVariantList对象来保存就行了。可以使用QVariant中的toLIst()函数将返回的js数组转换成QVariantLIst型。但在调用QVarianList中的元素是要先进行非空测试if(!qvlist.isEmpty()),如果是空值,程序将会出错。之后便可用qvlist.tostring()将其转换为字符型。

最新文章

  1. Git撤销操作
  2. 2016-02-03 xss漏洞
  3. jni和java对应关系
  4. Eclipse中java获得mysql的查询结果集
  5. table的css样式
  6. 解决企业In-House安装APP需HTTPS支持的问题(转载)
  7. C# 解析百度天气数据,Rss解析百度新闻以及根据IP获取所在城市
  8. FileItem类 用法详解
  9. MongoDB之bson的介绍
  10. HTTP知识填补
  11. +load,+initialize原理
  12. contains选择器
  13. 龙杰ACR122S NFC读卡器
  14. [c#]asp.net开发微信公众平台(2)多层架构框架搭建和入口实现
  15. Reverse Nodes in k-Group 解答
  16. dataGrideView的使用
  17. Linux添加系统调用的两种方法
  18. DDctf 新得
  19. bootstrap4的出现(或这篇文章可以叫做bs4与bs3的区别)
  20. 【XSY3048 】Polynominal 数学

热门文章

  1. java 正则表达式抽取
  2. IOS UITextField &UITextView
  3. Mac之vim普通命令使用
  4. VC++ SetLayeredWindowAttributes 部分窗口透明鼠标穿透
  5. c#Ulong用一个高位Uint和低位Uint表示
  6. BZOJ 1565: [NOI2009]植物大战僵尸( 最小割 )
  7. gulp+browserfy模块化工具环境搭建
  8. UVALive 6709 - Mosaic 二维线段树
  9. Latex beamer
  10. JS行合并处理方法