qjsengine 调用js 实现计算器
时间: 2024-05-06 10:17:41 浏览: 11
好的,下面是一个简单的例子,展示如何使用 qjsengine 调用 JavaScript 实现计算器:
```cpp
#include <QCoreApplication>
#include <QDebug>
#include <QJSValue>
#include <QJSValueIterator>
#include <QJSEngine>
int main(int argc, char *argv[])
{
QCoreApplication a(argc, argv);
// 创建一个 QJSEngine 实例
QJSEngine engine;
// 定义一个 JavaScript 函数,实现加法运算
QString addFunction = "function add(a, b) { return a + b; }";
// 在 QJSEngine 中执行该函数
engine.evaluate(addFunction);
// 调用 JavaScript 函数 add
QJSValue add = engine.globalObject().property("add");
QJSValueList args;
args << 1 << 2;
QJSValue result = add.call(args);
// 输出结果
qDebug() << "1 + 2 = " << result.toNumber();
// 定义一个 JavaScript 函数,实现减法运算
QString subFunction = "function sub(a, b) { return a - b; }";
// 在 QJSEngine 中执行该函数
engine.evaluate(subFunction);
// 调用 JavaScript 函数 sub
QJSValue sub = engine.globalObject().property("sub");
args.clear();
args << 5 << 3;
result = sub.call(args);
// 输出结果
qDebug() << "5 - 3 = " << result.toNumber();
return a.exec();
}
```
运行结果:
```
1 + 2 = 3
5 - 3 = 2
```