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
IDC - The Interface Description Compiler (ActiveQt) | |
---|---|
The dumpcpp Tool (ActiveQt) | |
The dumpdoc Tool (ActiveQt) | |
testcon - An ActiveX Test Container (ActiveQt) |
在Qt中使用ActiveX控件和COM
QAxContainer模块是ActiveQt框架的一部分。它提供了一个实现QWidget子类QAxWidget的库,作为ActiveX控件的容器,以及一个QObject子类QAxObject,可以用来轻松访问非可视的COM对象。通过QAxScript、QAxScriptManager和QAxScriptEngine类,使用这些类嵌入的COM对象的脚本是可能的,一组工具使得以编程方式访问COM对象变得容易。
该模块由六个类组成:
-
QAxBase是一个抽象类,它提供了一个初始化和访问COM对象或ActiveX控件的API。
-
QAxObject提供了一个包装COM对象的QObject。
-
QAxWidget是一个包装ActiveX控件的QWidget。
-
QAxScriptManager、QAxScript和QAxScriptEngine提供了一个到Windows脚本主机的接口。
在Qt中构建ActiveX服务器
QAxServer模块是ActiveQt框架的一部分。它由三个类组成:
-
QAxFactory定义了一个用于创建COM对象的工厂。
-
QAxBindable提供了Qt widget和COM对象之间的接口。
-
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接口的抽象基类 |
---|---|
QAxBindable | QWidget和ActiveX客户端之间的接口 |
QAxFactory | 定义一个用于创建COM组件的工厂 |