QAxObject Class
QAxObject 类提供了一个封装 COM 对象的QObject 。更多
头文件: | #include <QAxObject> |
CMake: | find_package(Qt6 REQUIRED COMPONENTS AxContainer) target_link_libraries(mytarget PRIVATE Qt6::AxContainer) |
qmake: | QT += axcontainer |
继承: | QAxBaseObject 和QAxBase |
被继承: |
公共函数
QAxObject(QObject *parent = nullptr) | |
QAxObject(IUnknown *iface, QObject *parent = nullptr) | |
QAxObject(const QString &c, QObject *parent = nullptr) | |
virtual | ~QAxObject() override |
bool | doVerb(const QString &verb) |
重新实现的受保护函数
virtual void | connectNotify(const QMetaMethod &signal) override |
详细说明
QAxObject 可以以空对象、应封装的 COM 对象名称或表示现有 COM 对象的 IUnknown 指针的形式实例化。如果 COM 对象实现了IDispatch
接口,则该对象的属性、方法和事件将作为 Qt 属性、槽和信号可用。基类QAxBase 提供了通过 IUnknown 指针直接访问 COM 对象的 API。
QAxObject 是QObject ,可以作为 使用,例如,它可以在对象层次结构中组织、接收事件并连接到信号和插槽。
QAxObject 还继承了QAxBase 的大部分 ActiveX 相关功能,特别是dynamicCall() 和querySubObject()。
另请参阅 QAxBase,QAxWidget,QAxScript 和ActiveQt Framework。
成员函数文档
[explicit]
QAxObject::QAxObject(QObject *parent = nullptr)
创建一个空 COM 对象,并将parent 传播到QObject 构造函数。要初始化对象,请调用 setControl()。
另请参阅 setControl() 。
[explicit]
QAxObject::QAxObject(IUnknown *iface, QObject *parent = nullptr)
创建一个 QAxObject,用于封装iface 引用的 COM 对象。parent 会传播到QObject 构造函数。
[explicit]
QAxObject::QAxObject(const QString &c, QObject *parent = nullptr)
创建一个包裹 COM 对象c 的 QAxObject。parent 会传播到QObject 构造函数。
另请参阅 setControl() 。
[override virtual noexcept]
QAxObject::~QAxObject()
释放 COM 对象并销毁QAxObject ,清理所有分配的资源。
[override virtual protected]
void QAxObject::connectNotify(const QMetaMethod &signal)
重实现:QObject::connectNotify(const QMetaMethod &signal).
bool QAxObject::doVerb(const QString &verb)
请求 COM 对象执行操作verb 。verbs() 返回可能的动词。
如果对象可以执行该操作,函数返回 true,否则返回 false。
© 2025 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.