QAxObject 类

QAxObject 类提供了一个QObject,可以将 COM 对象包装起来。更多...

头文件 #include <QAxObject>
CMakefind_package(Qt6 REQUIRED COMPONENTS AxContainer)
target_link_libraries(mytarget PRIVATE Qt6::AxContainer)
qmakeQT += axcontainer
继承关系 QAxBaseObjectQAxBase
被继承的类

QAxScriptEngine

公共函数

QAxObject(QObject *parent = nullptr)
QAxObject(const QString &c, QObject *parent = nullptr)
QAxObject(IUnknown *iface, QObject *parent = nullptr)
virtual~QAxObject() override
booldoVerb(const QString &verb)

重写的受保护函数

virtual voidconnectNotify(const QMetaMethod &signal) override

详细描述

QAxObject 可以实例化为空对象,指定要包装的 COM 对象名称,或者指定表示现有 COM 对象的 IUnknown 指针。如果 COM 对象实现了 IDispatch 接口,该对象的属性、方法和事件将作为 Qt 属性、槽和信号可用。基础类 QAxBase 提供了一个 API,通过 IUnknown 指针直接访问 COM 对象。

QAxObject 是一个 QObject,因此可以作为此类使用,例如,它可以在对象层次结构中组织,接收事件并连接到信号和槽。

QAxObject 还从 QAxBase 继承了大部分 ActiveX 相关功能,特别是 dynamicCall() 和 querySubObject()。

警告:您可以将 QAxObject 作为子类,但是不能在子类中使用 Q_OBJECT 宏(生成的 moc 文件将无法编译),因此不能添加更多的信号、槽或属性。这种限制是由于运行时生成的元对象信息造成的。为了解决这个问题,将 QAxObject 作为 QObject 子类的成员聚合。

另请参阅:QAxBaseQAxWidgetQAxScriptActiveQt 框架

成员函数文档

[明确] QAxObject::QAxObject(QObject *家长 = nullptr)

创建一个空的COM对象,并将家长传播给QObject构造函数。要初始化对象,请调用setControl()。

另请参阅 setControl().

[明确] QAxObject::QAxObject(const QString &c, QObject *家长 = nullptr)

创建一个包装COM对象c的QAxObject。将家长传播给QObject构造函数。

另请参阅 setControl().

[明确] QAxObject::QAxObject(IUnknown *接口, QObject *家长 = nullptr)

创建一个包装由接口引用的COM对象的QAxObject。将家长传播给QObject构造函数。

[覆盖虚函数无异常] QAxObject::~QAxObject()

释放COM对象并销毁QAxObject,清理所有分配的资源。

[覆盖虚保护] void QAxObject::connectNotify(const QMetaMethod &信号)

重写到: QObject::connectNotify(const QMetaMethod &signal).

bool QAxObject::doVerb(const QString &动词)

请求COM对象执行动词的操作。可能的动词由动词()返回。

如果对象可以执行操作,则函数返回true,否则返回false。

© 2024 Qt公司。此处包含的文档贡献是各自所有者的版权。提供的文档根据自由软件开发基金会发布的GNU自由文档许可协议版本1.3的条款提供。Qt和相应的商标是芬兰及其它地区Qt公司的商标。所有其他商标均为其各自所有者的财产。