ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

Qt开发Activex笔记(一):环境搭建、基础开发流程和演示Demo

2021-02-11 13:35:21  阅读:246  来源: 互联网

标签:控件 Qt VS2019 Demo 使用 开发 步骤 Activex


前言

  使用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>

  在这里插入图片描述

 

上一篇:无
下一篇:敬请期待…

 

若该文为原创文章,转载请注明原文出处
本文章博客地址:https://blog.csdn.net/qq21497936/article/details/113773009

长期持续带来更多项目与技术分享,咨询请加QQ:21497936、微信:yangsir198808

红胖子(红模仿)的博文大全:开发技术集合(包含Qt实用技术、树莓派、三维、OpenCV、OpenGL、ffmpeg、OSG、单片机、软硬结合等等)持续更新中…(点击传送门)

Qt开发专栏:开发技术

标签:控件,Qt,VS2019,Demo,使用,开发,步骤,Activex
来源: https://www.cnblogs.com/qq21497936/p/14397631.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有