关于QT中evaluateJavaScript()函数返回值的处理问题
2024-10-19 00:23:47
关于QT中evaluateJavaScript()函数返回值的处理问题 - 寒风问雪的专栏 - 博客频道 - CSDN.NET
关于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()将其转换为字符型。
最新文章
- Git撤销操作
- 2016-02-03 xss漏洞
- jni和java对应关系
- Eclipse中java获得mysql的查询结果集
- table的css样式
- 解决企业In-House安装APP需HTTPS支持的问题(转载)
- C# 解析百度天气数据,Rss解析百度新闻以及根据IP获取所在城市
- FileItem类 用法详解
- MongoDB之bson的介绍
- HTTP知识填补
- +load,+initialize原理
- contains选择器
- 龙杰ACR122S NFC读卡器
- [c#]asp.net开发微信公众平台(2)多层架构框架搭建和入口实现
- Reverse Nodes in k-Group 解答
- dataGrideView的使用
- Linux添加系统调用的两种方法
- DDctf 新得
- bootstrap4的出现(或这篇文章可以叫做bs4与bs3的区别)
- 【XSY3048 】Polynominal 数学