qt显示html报错,Qt开发Activex笔记(一):环境搭建、基础开发流程和演示Demo

前言

使用C#开发动画,绘图性能跟不上,更换方案使用Qt开发Qt的控件制作成OCX以供C#调用,而activex则是ocx的更高级形式。

QtCreator是没有Active控件项目的,所有需要使用VS,笔者使用VS2019开发。

准备工作

Qt5.15.2 + VS2019 + vs tools,搭建基础开发环境不再赘述。

1b12c69075172a6fa582820f6a35207e.png

开发第一个Qt Activex:Hello world

步骤一:新建Qt ActiveQt Server项目

5ad2a1de5a228174bb1d2f92aa776424.png

16501e8865736a428f552d40c1bc174a.png

b1613a057836566fa88bc963b0e8904b.png

93df4bbd9073c9b77e9a7ecb71d7a3c5.png

6829174bda99747851a6a2d8cda0b91d.png

123f49867253b2702bc86705616bc29c.png

步骤二:拖一个QLabel,输入”Hello world”

948da72bac1af2afd67832486241bd80.png

步骤三:生成出现错误“MSB3073”

c2b08b906848ebb90eb402bf59f9642d.png

需要使用管理员权限打开VS2019软件。

步骤四:生成release和debug版本

a01d3c8b0e80cdbfda940763be1632dd.png

e24ad2279394602f8a2905706dda6818.png

fb23d726325c4b396fe87c0bebff0cd8.png

步骤五:注册activex控件

运行之前先要注册,使用Qt下自带的idc注册一下。

idc -regserver activeHelloWorldDemo.dll

147c6fc0a6a7a468250483830756e0a5.png

步骤六:调用activeQt控件

查看一下,打开注册表并搜索一下,确认clsid,如下图:

7317d5d3f20af9df53494f08ee35eb32.png

创建一个html,然后输入如下内容:

activeQtDemo

classid="CLSID:2F12BFB8-137D-4DC2-9A93-634EFE5A6DFC">

[Object not available! Did you forget to build and register the server?]

使用IE运行,active是微软特有的,其他浏览器不支持,如下图:

e474c2695b5c10cf8c6d35ffad0c6802.png

入坑

入坑一:调用控件失败

问题

8b6d852d2010eebbd89eef50eec6c092.png

原因

因为classid的格式错误

解决

activeQtDemo

classid="CLSID:2F12BFB8-137D-4DC2-9A93-634EFE5A6DFC">

[Object not available! Did you forget to build and register the server?]

a1e88a337a6f58c0458f0af8b2f72e88.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值