欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  web前端

ActiveQt与js交互实现图文讲解

程序员文章站 2022-04-15 23:53:25
...

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

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

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

ActiveQt与js交互实现图文讲解

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

ActiveQt与js交互实现图文讲解

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

ActiveQt与js交互实现图文讲解

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

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

ActiveQt与js交互实现图文讲解

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

ActiveQt与js交互实现图文讲解

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

ActiveQt与js交互实现图文讲解

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交互实现图文讲解的详细内容,更多请关注其它相关文章!