VS+QT开发Ocx/ActiveX控件 一

2023-11-20

VS+QT开发Ocx/ActiveX控件 一

VS+QT开发Ocx/ActiveX控件-------网页中全屏 二

一:所用IDE版本,需用管理员权限

IE11
vs2017+qt visual studio tools version 2.9.1

二:创建ActiveX

在这里插入图片描述
然后一直next,最后finish

三:qt desinger

在这里插入图片描述
放3个组件,这三个组件可以像普通的QT一样进行操作,然后编译成dll。

四:regsvr32.exe注册DLL

  1. 管理员权限打开CMD
  2. 使用c:\windows\system32的regsvr32.exe
  3. 执行 c:\windows\system32\regsvr32.exe ActiveQtServer_test1.dll
  4. 之后再需要生成dll就需要管理员权限打开vs

注册ocx错误码0x80040200,需要管理员权限cmd注册

五:html

创建html,命名为ac.html

   <HTML>
       <HEAD>
           <TITLE>My Web</TITLE> 
       </HEAD>
       <BODY>
		   <object ID="ActiveQtServer_test1" classid="CLSID:552ec57c-2d6a-4e8c-b08b-69044335d576" width="600" height="400">
		   </object>
       </BODY>
   </HTML>

TITLE:随意
ID:随意
classid:552ec57c-2d6a-4e8c-b08b-69044335d576
width/height:随意在这里插入图片描述NOTE: HTML放到dll同级目录下

六:windeployqt获取dll多需的所有文件

使用QT自带的windeployqt.exe获取dll多需的所有文件
在这里插入图片描述

IE打开ac.HTML文件,效果如下:
在这里插入图片描述

七 HTML 调用ActiveX方法和变量

1. Qt类中的属性和公有的插槽函数(slots)会被转换为COM中的属性和方法
2. Qt类中的信号(signals)会被转换成为COM组件中的事件

所以添加一个槽函数printffff,这个函数可以被HTML调用
添加一个变量ActiveChannel ,可以被HTML读取

//属性
Q_PROPERTY(int ActiveChannel READ readActiveChannel)
int ActiveChannel = 2;
int readActiveChannel()
{
	return ActiveChannel ;
}
//槽函数
public slots:
	QString printffff(QString s)
	{
		ss = s;
		ui.lineEdit->setText(ss);
		return ss;
	}
};

HTML:如下

   <HTML>
       <HEAD>
           <TITLE>My Web</TITLE> 
       </HEAD>
       <BODY>
		   <object ID="ActiveQtServer_test1" classid="CLSID:552ec57c-2d6a-4e8c-b08b-69044335d576" width="600" height="400">
		   </object>
		<p>
		<button name="string" onclick="pushhhh()">push</button>
		<button name="getChannel" onclick="pushgetChannel()">push</button>
		<p>指定窗口<input type="text" name="activeix"/>
		</p>
		<script>
		function pushhhh(){
			ActiveQtServer_test1.printffff("123123");
		}
		function pushgetChannel(){
			activeix.value= ActiveQtServer_test1.ActiveChannel;
			alert(activeix.value) 
		}
		</script>
       </BODY>
   </HTML>

IE打开HTML效果如下:
请添加图片描述

八 Qt数据类型和等效的COM数据类型之间进行转换。

Qt支持作为COM组件信号和槽函数参数的数据类型如下:
在这里插入图片描述

问题:

在这里插入图片描述
以管理员权限运行

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

VS+QT开发Ocx/ActiveX控件 一 的相关文章

随机推荐

  • windows 远程ssh 登录linux 网络连接超时

    该方法适用于已经配置过的ssh服务 当电脑休眠 重启或关机再开机后windows ssh 远程登录ubuntu失败 此前都是正常使用 首先查看自己Ubuntu是否有网络 ifconfig一下 如果有 再去查看自己的ssh服务器是否开启 sy
  • 基于javaEE的图书管理系统

    极简的图书管理系统 无任何样式修饰 适合新手练手 图文并释 1 实现了用户注册 登录 图书的添加 修改 删除和修改操作 2 工具需要 eclipse mysql Tomcat 3 做系统之前在eclipse需要配置Tomcat服务器和导入m
  • Webpack 5 超详细解读(四)

    31 proxy 代理设置 为什么开发阶段需要设置代理 在开发阶段 我们需要请求后端接口 但是一般后端接口地址和我们本地的不在同一个服务中提供 这时进行访问就会存在跨域的问题 所以我们需要对我们的请求进行转啊操作 模拟跨域请求代码如下 ht
  • Java容器有哪些?哪些是同步容器,哪些是并发容器?

    Java容器有哪些 哪些是同步容器 哪些是并发容器 一 基本概念 容器集 同步容器 并发容器 二 Collection集合接口 List接口 LinkedList类 ArrayList类 Vector类 Stack类 Set接口 HashS
  • SQL报错——Incorrect column specifier for column ‘id‘

    自增 字段类型应该设置为int类型
  • C++面试 左值、右值、左值引用、右值引用

    1 左值和右值 左值 left values 缩写 lvalues located value 可定位值 其含义是可以明确其存放地址的值 更确切说对其的使用是基于地址 右值 right values 缩写 rvalues read valu
  • 【shell脚本通过curl调用判断k8s pod 是否启用成功】

    获取到指定的pod name viewer kubectl n skiff nsfdemo ns get pod grep viewer awk print 1 根据pod name 获取指定pod IP viewerIp kubectl
  • 【源码篇】基于SSM+JSP实现的学生宿舍管理系统

    系统介绍 基于SSM JSP实现的学生宿舍管理系统是一个基于B S模式的学生宿舍管理系统 为学生 学校和宿管阿姨搭建了一个灵活自由并且安全可靠的管理平台 系统设计了6大菜单模块 分别是 学生管理 学生信息的添加 修改 删除 查询 Excel
  • VScode+PHPstudy配置PHP开发环境详解

    这篇文章主要介绍了VScode PHPstudy配置PHP开发环境的步骤 整理了官方以及优秀第三方的内容 对于学习和工作有一定借鉴意义 准备安装的软件 VScode和PHPstudy 链接 https pan baidu com s 1T2
  • HTTP报文结构

    1 URL HTTP使用统一资源定位符 URL 协议 主机 端口 路径 2 HTTP 3 HTTP请求报文 请求行 首部 空行 主体 客户端发送一个HTTP请求到服务器的请求报文如下 1 请求行 方法 URL 空行 协议的版本 中间空格隔开
  • Qt公有槽和私有槽的区别

    Qt遵循C 的规则 当槽函数作为一个成员函数 公有槽可以被其他类调用 而私有槽只能被类自身调用 当槽函数被信号触发而被调用时 公有槽和私有槽没有区别 它们都能被外部信号触发 参考链接 https stackoverflow com ques
  • JavaEE学习记录day11 IO流02 字符流、转换流、Properties集合

    1 字符流 1 1为什么会出现字符流 理解 字符流的介绍 由于字节流操作中文不是特别的方便 所以Java就提供字符流 字符流 字节流 编码表 中文的字节存储方式 用字节流复制文本文件时 文本文件也会有中文 但是没有问题 原因是最终底层操作会
  • 黑幕!阿里P8爆出学透这份算法面试文档,不再怕任何大厂算法题

    为什么要学习数据结构和算法 随着应用程序变得越来越复杂和数据越来越丰富 几百万 几十亿甚至几百亿的数据就会出现 而对这么大对数据进行搜索 插入或者排序等的操作就越来越慢 数据结构就是用来解决这些问题的 阅读本教程前 您需要了解的知识 在您开
  • FastDFS storage服务器安装Nginx

    环境准备 操作系统 Centos 服务器 192 168 60 165 storage服务器 软件包 fastdfs nginx module 1 20 tar gz nginx 1 14 0 tar gz 软件包下载地址 待补充 第一步
  • Hive 窗口函数如何设置窗口大小

    select city year taxes sum money over as sample1 所有行相加 sum money over partition by city as sample2 按city分组 组内数据相加 sum mo
  • Linux下用inotify-tool实时监控服务器文件

    说明 服务器系统 CentOS 文件目录 home web os 实现目的 当 home web os下面除过cache目录之外 任何文件发生变化时 记录日志并保存 具体操作 一 安装Inotify tools工具 1 查看服务器内核是否支
  • Android SurfaceFlinger服务(三) ----- 本地图层Layer创建

    在上一篇文章中 主要分析了Surface的创建过程 对于Layer图层的创建并没有深入跟踪分析 这篇文章将分析Layer图层的创建 并分析handle gbp这两个变量的来源 在SurfaceFlinger中会根据flags的值创建不同的l
  • CMake中include的使用

    CMake中的include命令用于从文件或模块 file or module 加载并运行CMake code 其格式如下 include
  • 【算法】Dijkstra最短路算法

    上周我们介绍了神奇的只有五行的Floyd最短路算法 它可以方便的求得任意两点的最短路径 这称为 多源最短路 本周来来介绍指定一个点 源点 到其余各个顶点的最短路径 也叫做 单源最短路径 例如求下图中的1号顶点到2 3 4 5 6号顶点的最短
  • VS+QT开发Ocx/ActiveX控件 一

    VS QT开发Ocx ActiveX控件 一 VS QT开发Ocx ActiveX控件 网页中全屏 二 QT开发ActiveX控件 一 所用IDE版本 需用管理员权限 二 创建ActiveX 三 qt desinger 四 regsvr32