# Qt QAxObject 操作 ActiveX com组件

news/2024/12/27 1:36:51/

- 起因是自己需要写一个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.ppmy.cn/news/432.html

相关文章

华为数字化转型之道 方法篇 第五章 视IT为投资,用产品思维管理IT

第五章 视IT为投资,用产品思维管理IT 5.1 数字时代IT系统的重新定位 比较传统信息化和数字化转型下的IT系统特征,我们发现业务环境、IT能力、业务和IT的关系都发生了巨大的变化(见图5-1) 从“管理系统”到“作业平台” 传统信息化下的IT系统往往侧重于信息记录、流程固化…

Go学习笔记 -- fmt常用打印方法及占位符介绍

文章目录普通打印自带换行格式化打印占位符普通占位符字符串占位符整数占位符浮点数占位符其他占位符普通打印 Fprint 接受一个输出流和多个写入值。 拼接字符串并打印&#xff0c;如果前后两个操作值全都不是 string 类型的时候&#xff0c;自动添加空格分割。 函数返回打印的…

使用markdown画流程图、时序图等

概述 能表示的图类型还有很多&#xff0c;比如&#xff1a; sequenceDiagram时序图 classDiagram类图 stateDiagram:状态图 erDiagram&#xff1a;ER图 gantt&#xff1a; 甘特图 pie&#xff1a;饼图 requirementDiagram: 需求图 流程图 流程图代码以「graph 《布局…

【Pandas数据处理100例】(九十九):Pandas使用at_time()筛选出特定时间点的数据行

前言 大家好,我是阿光。 本专栏整理了《Pandas数据分析处理》,内包含了各种常见的数据处理,以及Pandas内置函数的使用方法,帮助我们快速便捷的处理表格数据。 正在更新中~ ✨ 🚨 我的项目环境: 平台:Windows10语言环境:python3.7编译器:PyCharmPandas版本:1.3.5N…

自然算法 - AI面试基础补全

手撕BP神经网络手写Bert和Transformer&#xff08;BERT很细节的地方&#xff0c;比如文字标签CLS&#xff0c;par&#xff09;学习pytorch&#xff0c;tensorflow AI算法岗位 可看网站 牛客网站 面经回复 github 项目连接 算法工程师岗位必备知识 问答 ELMO、GPT、…

2183440-36-8,APN-C3-PEG4-alkyne 性能稳定功能连接体

一、APN-C3-PEG4-alkyne物理数据&#xff1a; CAS&#xff1a;2183440-36-8 | 中文名&#xff1a;APN-C3-四聚乙二醇-炔基 |英文名&#xff1a; APN-C3-PEG4-alkyne 结构式&#xff1a; 二、APN-C3-PEG4-alkyne试剂反应原理&#xff1a; 西安凯新生物科技有限公司供应的&…

基于Linux centos7部署 Sonic(简版)

sonic是最近很火的开源云真机平台&#xff0c;支持分布式部署&#xff0c;功能也非常丰富&#xff0c;我们需要一套环境远程执行自动化测试&#xff0c;于是&#xff0c;就部署了一套。当然&#xff0c;官方有项目详细的部署文档&#xff0c;本文结合我们自己的情况选择一台Lin…

Python破解WIFI密码完整源代码,实测可成功破解

目录 # 修正记录&#xff1a;2022-12-01 1&#xff0c;先安装Python环境(这个不用多说了吧) 2&#xff0c;安装PyWifi 3,自己手工整理高频弱口令&#xff0c;不建议程序生成的字典&#xff0c;生成的字典成功率实在太低。 4&#xff0c;自己生成字典的算法&#xff1a; 5…