• Roson的Qt之旅 #135 在Qt中使用ActiveX控件和COM对象


    Active Qt

    Qt的ActiveX和COM支持使Windows的Qt开发者能够:

    • 在他们的Qt应用程序中访问和使用由任何ActiveX服务器提供的ActiveX控件和COM对象.

    • 使他们的 Qt 应用程序作为 COM 服务器可用,将任何数量的 Qt 对象和部件作为 COM 对象和 ActiveX 控件.

    关于在Qt中使用ActiveX的更多信息,请参阅在Qt中构建ActiveX服务器.

    ActiveQt框架由两个模块组成。 QAxContainer模块是一个实现QObject和QWidget子类的静态库,QAxObject和QAxWidget,作为COM对象和ActiveX控件的容器。 QAxServer模块是一个静态库,实现了进程中和可执行的COM服务器的功能。该模块提供了QAxAggregated、QAxBindable和QAxFactory类。 提供了一套工具来简化使用ActiveX的Qt项目的开发和构建。 要构建静态库,请切换到activeqt目录(通常是QTDIR/src/activeqt),并在容器和控制子目录下运行qmake和你的make工具。qaxcontainer.lib和qaxserver.lib库将被链接到QTDIR/lib。 如果你使用的是Qt的共享配置,进入插件子目录,运行qmake和你的make工具来构建一个插件,将QAxContainer模块集成到Qt Designer中。

    ActiveQt的工具

    以下工具可以使Qt与ActiveX组件集成。

    也可以查阅ActiveQt Framework

    在Qt中使用ActiveX控件和COM

    QAxContainer模块是ActiveQt框架的一部分。它提供了一个实现QWidget子类QAxWidget的库,作为ActiveX控件的容器,以及一个QObject子类QAxObject,可以用来轻松访问非可视的COM对象。通过QAxScript、QAxScriptManager和QAxScriptEngine类,使用这些类嵌入的COM对象的脚本是可能的,一组工具使得以编程方式访问COM对象变得容易。

    该模块由六个类组成:

    1. QAxBase是一个抽象类,它提供了一个初始化和访问COM对象或ActiveX控件的API。

    2. QAxObject提供了一个包装COM对象的QObject。

    3. QAxWidget是一个包装ActiveX控件的QWidget。

    4. QAxScriptManager、QAxScript和QAxScriptEngine提供了一个到Windows脚本主机的接口。

    在Qt中构建ActiveX服务器

    QAxServer模块是ActiveQt框架的一部分。它由三个类组成:

    1. QAxFactory定义了一个用于创建COM对象的工厂。

    2. QAxBindable提供了Qt widget和COM对象之间的接口。

    3. QAxAggregated可以被子类化以实现额外的COM接口。

    QAxContainer C++类

    QAxContainer模块是一个用于访问ActiveX控件和COM对象的Windows专用扩展。QAxContainer是Active Qt模块的一部分。在Qt中使用ActiveX控件和COM页面包含了关于ActiveX控件容器的信息。

    QAxBase抽象类,提供初始化和访问COM对象的API
    QAxObject包裹COM对象的QObject
    QAxScript围绕脚本代码的封装器
    QAxScriptEngine围绕脚本引擎的封装器
    QAxScriptManager应用程序对象和脚本代码之间的桥梁
    QAxSelect注册COM组件的选择对话框
    QAxWidget包裹ActiveX控件的QWidget

    QAxServer C++类

    QAxServer模块是一个仅适用于Windows的静态库,你可以用它来把一个标准的Qt二进制文件变成一个COM服务器。QAxServer是Active Qt模块的一部分。在Qt中构建ActiveX服务器页面包含了关于将Qt二进制文件变成COM服务器的信息。

    QAxAggregated用于实现其他COM接口的抽象基类
    QAxBindableQWidget和ActiveX客户端之间的接口
    QAxFactory定义一个用于创建COM组件的工厂

  • 相关阅读:
    Educational Codeforces Round 32 G. Xor-MST 启发式合并字典树、Boruvka求最小生成树 + 最小异或字典树、分治
    【AcWing】829. 模拟队列
    ARM架构与调测调优实战
    插件收集(idea Communtity Edtion)
    css 使用二
    全国市政公用事业和邮政、电信业发展数据,shp/excel格式
    MongoDB介绍和基本使用
    面向桥隧施工工地的环境参数监测与通风控制系统设计
    你知道期权和期货有什么关联和区别吗?解析一下!
    暑假安全基础
  • 原文地址:https://blog.csdn.net/jolin678/article/details/127929196