Qt工作历程-QtScript与Qt的C++部分互相通讯

根据项目的需求,本来脚本想用lua来进行,但想了下,Qt不是已经可以解析javascript了么?


javascript其实很多缺点,搜先不支持多线程。但对于使用对象是非程序员方向来看,其实够有余了。


参考一下网址

http://blog.chinaunix.net/uid-22212707-id-3189569.html


其实就是几步

头文件包含

#include <QScriptEngine>
#include <QScriptValue>


//构造 Script 的 engine 这个可以一直使用,但值得注意的是,这个构造必须要在Q(Core)Application 构造后才能开始构造

QScriptEngine engine;


//设置对象,这一步是对Script声明变量的方式,被用于声明的类地址,必须是由QObject继承下来的完整的类

CMyObj obj;
QScriptValue o = engine.newQObject(&obj);
engine.globalObject().setProperty("abc", o);


//执行这个script,因为之前把obj定义成了abc这个名字,所以这里是abc.test(), 这里值得注意的是,CMyObj 这个类的 test() 必须有 Q_INVOKABLE 修饰,否则找不到这个函数
engine.evaluate("abc.test()");

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值