QAxObject 类

The QAxObject 类提供 QObject 包裹 COM (组件对象模型) 对象。 更多...

头: #include <QAxObject>
qmake: QT += axcontainer
继承: QObject and QAxBase
继承者: QAxScriptEngine

公共函数

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

静态公共成员

const QMetaObject staticMetaObject

重实现保护函数

virtual void connectNotify (const QMetaMethod & signal ) override

额外继承成员

详细描述

The QAxObject 类提供 QObject 包裹 COM (组件对象模型) 对象。

A QAxObject 可以被实例化成空对象,具有应包裹的 COM 对象名,或具有指向表示现有 COM 对象的 IUnknown 指针。若 COM 对象有实现 IDispatch 接口,该对象的特性、方法和事件将变为可用 Qt 特性、槽及信号。基类 QAxBase 提供能透过 IUnknown 指针直接访问 COM 对象的 API。

QAxObject QObject 且可以这样使用,如:可以按对象层次结构、接收事件及连接信号/槽组织它。

QAxObject 还继承了其 ActiveX 相关的大部分功能从 QAxBase ,尤其 dynamicCall () 和 querySubObject ().

警告: 可以子类化 QAxObject ,但无法使用 Q_OBJECT 宏在子类中 (不会编译生成的 moc 文件),所以,无法进一步添加信号、槽或特性。此局限性是由在运行时,生成的元对象信息造成的。要解决此问题,聚合 QAxObject 作为成员对于 QObject 子类。

另请参阅 QAxBase , QAxWidget , QAxScript ,和 ActiveQt 框架 .

成员函数文档编制

QAxObject:: QAxObject ( QObject * parent = nullptr)

创建空 COM 对象并传播 parent QObject 构造函数。以初始化对象,调用 setControl .

QAxObject:: QAxObject (const QString & c , QObject * parent = nullptr)

创建 QAxObject 包裹 COM 对象 c . parent 被传播给 QObject 构造函数。

另请参阅 setControl ().

QAxObject:: QAxObject ( IUnknown * iface , QObject * parent = nullptr)

创建 QAxObject 包裹引用 COM 对象通过 iface . parent 被传播给 QObject 构造函数。

[override virtual] QAxObject:: ~QAxObject ()

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

[override virtual protected] void QAxObject:: connectNotify (const QMetaMethod & signal )

重实现自 QObject::connectNotify ().

bool QAxObject:: doVerb (const QString & verb )

请求 COM 对象以履行动作 verb 。可能的 verb 的返回是通过 verbs ().

函数返回 true 若对象能履行动作,否则返回 false。

该函数在 Qt 4.1 引入。