# Qt QAxObject 操作 ActiveX com组件

news2024/12/23 2:41:09

- 起因是自己需要写一个Qt操作office word文档的类,

  总结出了QAxObject相关方法的使用模板

- 大家可以对支持ActiveX的程序查程序API文档后对号入座

- 程序名可以使用ApplicationName.Application或者Uuid

        - 使用ApplicationName的话可以到QtCreator的designer中

          拖拽一个QAxObject到窗口, 再右键添加控件, 就可以看到支持的控件

        - 找不到想要的控件的, 可以自己到注册表查询Uuid

```c++

#include <QAxObject>

void qax_activeX_example_code()
{
	QAxObject* obj2 = new QAxObject();
	obj2->setControl("ApplicationName.Application|Uuid");
			/* 间接获得程序接口 */

	QAxObject* obj = new QAxObject("ApplicationName.Application|Uuid");
			/* 直接获得程序接口 */

	obj->dynamicCall("Function()");
			/* dynamicCall时prototype必须显式的使用()表示Function是方法 */

	int arg = 0, arg2 = 1;

	obj->dynamicCall("Function(Arg, Arg2)", arg, arg2);
			/* 带参的dynamicCall */

	obj->setProperty("Attribute", arg); /* 设置属性 */

	int num = obj->property("Attribute").toInt();
			/* 获取相应属性(int) */ (void)num;

	bool can = obj->property("Attribute2").toBool();
			/* 获取相应属性(bool) */ (void)can;

	QString qstr2 = obj->property("Attribute3").toString();
	char* ch_str2 = (char*)qstr2.toStdString().c_str();
			/* 获取相应属性(QString --> char*) */ (void)ch_str2;

	char* ch_str = (char*)obj->property("Attribute3").toString()
			.toStdString().c_str();
			/* 获取相应属性(char*) */ (void)ch_str;

	QAxObject* sub_obj = obj->querySubObject("Parent.Sub");
			/* 从obj获取子对象(无参) */ (void)sub_obj;

	QAxObject* sub_obj2 = obj->querySubObject("Parent.Sub(arg)", arg);
			/* 从obj获取子对象(有参) */ (void)sub_obj2;

    QAxObject* sub_obj2 = obj->querySubObject("Sub(arg)", arg);
			/* 从obj获取子对象(有参), 也有可能是这种形式
             * 以所调程序对象的方法prototype为准
             */ (void)sub_obj2;
}

```

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/49233.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

如何在表格里面添加表单,并且进行表单验证

通过el-form和el-table的组合使用,在表格里面添加表单 并且进行验证 表单中v-model绑定scope.row中表格的数据 效果如图所示: <template><div><!-- <el-form ref"ruleForm" :model"ruleForm" :rules"rules"><el-form-…

C++ 类的静态成员详解【static】

目录 前言 一、类的静态成员 1.static关键字 2.静态成员变量 3.静态成员函数 二、程序样例 1.程序演示 2.程序截图 总结 前言 本文记录C中 static 修饰类成员成为静态成员&#xff0c;其中包括静态成员类别、作用和程序演示。 嫌文字啰嗦的可直接跳到最后的总结。 一、类的静…

从爆红到被黑,游戏黑产攻防48小时

编者按&#xff1a; 数字化浪潮蓬勃兴起&#xff0c;企业面临的安全挑战亦日益严峻。 腾讯安全近期将复盘2022年典型的攻击事件&#xff0c;帮助企业深入了解攻击手法和应对措施&#xff0c;完善自身安全防御体系。 本篇聚焦某游戏公司新游戏上线后与黑产多轮攻防的48小时里…

Python遥感开发之arcpy批量重采样

Python遥感开发之arcpy批量重采样1. 重采样2. ARCGIS中的重采样3. Python_arcpy代码实现前言&#xff1a;主要介绍使用ARCGIS中自带的重采样工具&#xff0c;以及Python代码实现arcpy批量重采样&#xff0c;使用Python代码更加方便快捷。1. 重采样 作用&#xff1a;更改栅格数…

百度飞桨公布最新成果:凝聚535万开发者,服务20万家企事业单位

11月30日&#xff0c;由深度学习技术及应用国家工程研究中心主办的WAVE SUMMIT2022深度学习开发者峰会如期而至。鹏城实验室主任、中国工程院高文院士&#xff0c;深圳大学电子与信息工程学院院长、深度学习技术及应用国家工程研究中心技术委员会副主任、中国工程院丁文华院士受…

【数据结构】二叉树详解(下篇)

&#x1f9d1;‍&#x1f4bb;作者&#xff1a; 情话0.0 &#x1f4dd;专栏&#xff1a;《数据结构》 &#x1f466;个人简介&#xff1a;一名双非编程菜鸟&#xff0c;在这里分享自己的编程学习笔记&#xff0c;欢迎大家的指正与点赞&#xff0c;谢谢&#xff01; 二叉树&…

c#、wpf开发中页面在win10下被缩放125%引起页面错乱的解决办法。

正常情况下,我们开发的页面页面应该是100%缩放的,这样程序在win7和win10下保持一致,但是win10里面会根据显示器的情况自动调整“缩放与布局”,这使得桌面程序有时候会发生页面错乱,怎么调整就是个问题。 如图:在“缩放与布局”100%显示如下: 而在 “缩放与布局”125%显…

etcd cli选举流程

etcd cli选举流程 创建选举的Session 可配置项&#xff1a; WithTTL&#xff1a;设置session的存活时间&#xff0c;默认60sWithLease&#xff1a;设置session的key的lease&#xff0c;默认新建一个TTL为session TTL的leaseWithContext&#xff1a;设置context&#xff0c;默…

逆势高速增长,毫末征战三年诠释量产为王

作者 | 白日梦想家 编辑 | 王博“1096天&#xff0c;这是一场毫末人自己与自己“死磕”的大战。”11月29日&#xff0c;毫末智行在公司成立三周年的内部信中这样总结。 死磕的事情&#xff0c;包括&#xff1a; 以“自动驾驶三定律”为战略原点&#xff0c;创建了业内独有的毫末…

点餐项目实现

目录项目简介功能设计数据库表设计用户表订单表菜品表订单详情表&#xff08;关联菜品表和订单表)配置类实体类DishOrderDetailOrderInfoUserInfo统一后端返回内容用户模块用户注册功能mapper接口xml文件controller层前端用户登录功能验证用户账号和密码(session存储)session k…

Oracle表空间详细介绍

表空间概述 Oracle的表空间属于Oracle中的存储结构&#xff0c;是一种用于存储数据库对象(如&#xff1a;数据文件)的逻辑空间&#xff0c;是Oracle中信息存储的最大逻辑单元&#xff0c;其下还包含有段、区、数据块等逻辑数据类型。表空间是在数据库中开辟的一个空间&#xf…

GoEXP规则变更通知 l 信创额外奖励活动

一、规则变更 Goby 致力于打造高质量漏洞 EXP&#xff0c;每个环节的细节都不容忽视。为了提升大家在 Goby 上查看、使用 EXP 等环节的体验&#xff0c;我们针对 GoEXP 计划规则中的 EXP 参数部分提出规约。 参数名必须要⻅名思义&#xff0c;禁⽌使⽤套⽤。 反例&#xff1…

Mybatis-Plus--LambdaQueryChainWrapper--使用/实例

原文网址&#xff1a;Mybatis-Plus--LambdaQueryChainWrapper--使用/实例_IT利刃出鞘的博客-CSDN博客 简介 说明 本文用示例介绍Mybatis-Plus的LambdaQueryChainWrapper的用法。 这种用法是使用Mybatis-Plus进行查询最好用的方法&#xff0c;用过一次后就不会再想用其他写法了…

某有色金属集团主数据管理面临的问题和解决方案

某有色金属集团成立于2002年&#xff0c;出资人为省国资委&#xff0c;注册资金12.6亿元人民币。以有色金属、稀有金属、黄金资源开发为主&#xff0c;集地质勘查、采矿、选矿、冶炼、加工、科研设计、机械制造、建筑安装、商贸物流及物资进出口、房地产开发、物业管理为一体的…

获得认证标志证书VMC教程

Verified Mark Certificate(VMC)是由证书颁发机构颁发的用于验证徽标所有权的数字证书。在收到VMC之前&#xff0c;您的徽标必须是注册商标。 VMC验证您的组织是您品牌徽标的合法所有者。使用带有VMC的徽标有助于防止垃圾邮件发送者和其他恶意用户使用他们不拥有的品牌徽标。注…

Linux权限介绍

文章目录Linux权限介绍1. shell命令及原理2. Linux权限的概念3. Linux权限管理3.1 人&#xff08;用户&#xff09;3.2 事物属性(文件类型和访问权限)3.3 文件访问权限的相关设置方法3.3.1 chmod3.3.2 chown3.3.3 chgrp3.4 file指令3.5 目录权限3.6 默认权限3.7 粘滞位3.7.1. 了…

matlab学习笔记(七)

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 matlab学习笔记&#xff08;七&#xff09;一、 LTI系统的响应impulse( ) 函数step( )函数lsim( )函数系统无初态时系统有初始状态时二、使用步骤A1&#xff1a;A2&#xff1…

Sentinel原理分析

1.概述 Sentinel(分布式系统的流量防卫兵)是阿里开源的一套用于服务容错的综合性解决方案; Sentinel是面向分布式服务架构的轻量级流量控制组件,主要以流量为切入点,从限流、流量整形、熔断降级、系统负载保护等多个维度来帮助您保障微服务的稳定性; 本质要做的就是两件事: …

第2部分 路由器基本配置

目录 2.1 路由器及IOS 简介 2.1.1 路由器简介 2.1.2 IOS 简介 2.1.3 CDP 协议介绍 2.2 路由器基本配置命令汇总 2.1 路由器及IOS 简介 2.1.1 路由器简介 路由器能起到隔离广播域的作用&#xff0c;还能在不同网络间转发数据包。路由器实际上是一台特殊用途的计算机&#…

[论文阅读] Curriculum Semi-supervised Segmentation

[论文地址] [代码] [MICCAI 19] Abstract 本研究调查了半监督CNN分割的课程式策略&#xff0c;它设计了一个回归网络来学习图像级信息&#xff0c;如目标区域的大小。这些回归被用来有效地规范分割网络&#xff0c;约束未标记图像的softmax预测&#xff0c;使其与推断的标签分…