ActiveQt与js交互实现图文讲解

小云云
小云云 原创
2018-03-02 13:33:12 2334浏览

本文主要以图文的方法和大家分享ActiveQt与js交互实现示例,希望能帮助到大家。

1、 vs2015+Qt 5.7 开发ActiveX创建工程

1.1、选择“新建”中的“项目”

1.2、选择Qt中的Qt ActiveQt Server,并填写项目名称等,界面如下:

1.3、接着点击下一步直到完成即可,其中对外提供的接口定义如下图所示:

2、 vs2015调试ActiveX控件环境配置

2.1、点击调试按钮下拉中选择“附加进程到”

2.2、点击“调试”按钮下拉中选择“附加进程到”进入如下界面:

2.3、查找iexplore.exe进程,选择“标题”为空的ie浏览器进程,点击“附加”按钮,此时即可进行调试,界面如下:

3、 ActiveQt与js回调交互实现

3.1、方式一:js直接重写Qt的信号函数

3.1.1、Qt定义信号方法

voideventCallBack(intnType, QStringstrEventName);

3.1.2、js重写方法

首先要定义控件的OBJECT标签,并指定id。假定id为ActiveQtServerCallBack,则js方法定义如下:

functionActiveQtServerCallBack::eventCallBack(nType,strEventName)

{

//实现的逻辑代码

……

}

注意事项:(1)各参数名称要一致;(2)该函数要放置在<OBJECT>标签后面实现,否则会出现异常,无法进行回调;<ps:不知道js有没有前置申明的概念>

3.2、方式二:js传参回调

3.2.1、Qt定义供外部调用的传参接口

intAttachEvent(constQString& eventName, IDispatch* dispFunc)

参数说明:

(1)eventName[in]:该参数可以自行选择,这边用做回调内容的显示;

(2)dispFunc[in]:该参数是js传递进来的回调函数地址;

3.2.2、js定义回调方法

function ActiveQtServerCallBackTrainsmitTest(x, y, z, strEvent)

{

//实现的逻辑代码

……

}

注意事项:其中x,y,z,strEvent参数要和Qt中定义的参数名称一致,否则无法回调;

以上就是ActiveQt与js交互实现图文讲解的详细内容,更多请关注php中文网其它相关文章!

声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。