ActiveQt与js的交互实现

本文档详细介绍如何使用Qt5.7在vs2015环境下创建并调试ActiveX控件,包括工程创建步骤、环境配置及ActiveQt与JavaScript的交互方式。提供了两种回调交互方案,适合初学者和有一定基础的开发者参考。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

基于Qt的ActiveX开发笔记

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中定义的参数名称一致,否则无法回调;

以上只是自己的一些总结,高手勿喷!微笑

源代码连接地址:http://download.youkuaiyun.com/download/weixin_38452552/10265439

web调用demo在工程路径win32/Debug路径下WebCallDemo文件夹里面

亲测可用!!!

 

                     

评论 10
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值