若该文为原创文章,转载请注明原文出处
本文章博客地址:https://blog.csdn.net/qq21497936/article/details/113773009
长期继续带来更多我的项目与技术分享,征询请加QQ:21497936、微信:yangsir198808
红瘦子(红模拟)的博文大全:开发技术汇合(蕴含Qt实用技术、树莓派、三维、OpenCV、OpenGL、ffmpeg、OSG、单片机、软硬联合等等)继续更新中…(点击传送门)
Qt开发专栏:开发技术
上一篇:无
下一篇:敬请期待...
前言
应用C#开发动画,绘图性能跟不上,更换计划应用Qt开发Qt的控件制作成OCX以供C#调用,而activex则是ocx的更高级模式。
QtCreator是没有Active控件我的项目的,所有须要应用VS,笔者应用VS2019开发。
筹备工作
Qt5.15.2 + VS2019 + vs tools,搭建根底开发环境不再赘述。
开发第一个Qt Activex:Hello world
步骤一:新建Qt ActiveQt Server我的项目
步骤二:拖一个QLabel,输出”Hello world”
步骤三:生成呈现谬误“MSB3073”
须要应用管理员权限关上VS2019软件。
步骤四:生成release和debug版本
步骤五:注册activex控件
运行之前先要注册,应用Qt下自带的idc注册一下。
idc -regserver activeHelloWorldDemo.dll
步骤六:调用activeQt控件
查看一下,关上注册表并搜寻一下,确认clsid,如下图:
创立一个html,而后输出如下内容:
<html><head><title>activeQtDemo</title></head><body> <object id="object" classid="CLSID:2F12BFB8-137D-4DC2-9A93-634EFE5A6DFC"> <!-- 以下为入坑了 --> <!-- classid="2F12BFB8-137D-4DC2-9A93-634EFE5A6DFC"> --> [Object not available! Did you forget to build and register the server?] </object></body></html>
应用IE运行,active是微软特有的,其余浏览器不反对,如下图:
入坑
入坑一:调用控件失败
问题
起因
因为classid的格局谬误
解决
<html><head><title>activeQtDemo</title></head><body> <object id="object" classid="CLSID:2F12BFB8-137D-4DC2-9A93-634EFE5A6DFC"> <!-- 以下为入坑了 --> <!-- classid="2F12BFB8-137D-4DC2-9A93-634EFE5A6DFC"> --> [Object not available! Did you forget to build and register the server?] </object></body></html>