一.实现过程
1.编写好js脚本
function add(a,b) {
return a+b
}
2.新建资源文件,将js脚本文件放入其中
3.核心代码
void Widget::callJavaScript()
{
// 资源文件路劲,可根据实际修改
QFile jsFile("://test.js");
if(!jsFile.open(QIODevice::ReadOnly))
{
qDebug()<<"文件打开失败";
return;
}
// 读取js脚本文件
QTextStream out(&jsFile);
QString jsStr = out.readAll();
qDebug()<<jsStr;
jsFile.close();
// 构建参数列表
QScriptValueList valueList;
qsreal a= 12.5;
qsreal b = 13.6;
valueList<<QScriptValue(a)<<QScriptValue(b);
// 用Qt提供的js引擎装载js脚本
QScriptEngine jsEngine;
QScriptValue js=jsEngine.evaluate(jsStr);
// 调用函数,add为调用函数名
QScriptValue func;
func = jsEngine.globalObject().property("add");
qsreal sum= func.call(QScriptValue(),valueList).toNumber();
qDebug()<<"调用js计算结果:"<<sum;
}
4.效果