QAxBaseObject Class
QAxBaseObject 为QAxObject 提供了静态属性与信号。更多内容...
| 头文件: | #include <qaxobject.h> |
| CMake: | find_package(Qt6 REQUIRED COMPONENTS AxContainer) target_link_libraries(mytarget PRIVATE Qt6::AxContainer) |
| qmake: | QT += axcontainer |
| 自: | Qt 6.0 |
| 继承自: | QObject |
| 被继承于: |
属性
- classContext : ulong
- control : QString
信号
| void | exception(int code, const QString &source, const QString &desc, const QString &help) |
| void | propertyChanged(const QString &name) |
| void | signal(const QString &name, int argc, void *argv) |
属性文档
classContext : ulong
此属性保存 ActiveX 控件将运行的上下文(默认值为 CLSCTX_SERVER)。
该属性会影响调用 CoCreateInstance 时“dwClsContext”参数的值。对于同时支持“进程内”和“进程外”两种启动方式的控件,可通过此属性控制其启动模式。 此外,当与 CLSCTX_ENABLE_CLOAKING 和一个模拟令牌配合使用时,它可用于修改/降低控件权限。
请注意,必须在调用 setControl() 之前设置此属性,否则不会生效。
另请参阅 QAxBaseWidget::control 。
control : QString
该属性存储由此QAxBaseObject 对象封装的COM对象的名称。
设置此属性将初始化该 COM 对象。此前设置的任何 COM 对象都将被关闭。
设置此属性的最有效方法是使用已注册组件的 UUID,例如
成员函数文档
[signal] void QAxBaseObject::exception(int code, const QString &source, const QString &desc, const QString &help)
当通过 OLE 自动化接口 IDispatch 调用 COM 对象时,该对象抛出异常,就会触发此信号。code 、source 、desc 和help 提供了 COM 服务器提供的有关该异常的信息,可用于向最终用户提供有用的反馈。help 包含帮助文件及其帮助上下文 ID(用方括号括起),例如“filename [id]”。
另请参阅 QAxBaseWidget::exception()。
[signal] void QAxBaseObject::propertyChanged(const QString &name)
如果 COM 对象支持属性通知,则当名为name 的属性发生变化时,会发出此信号。
另请参阅 QAxBaseWidget::propertyChanged()。
[signal] void QAxBaseObject::signal(const QString &name, int argc, void *argv)
当 COM 对象触发name 事件时,会发出此通用信号。argc 表示该事件提供的参数个数(DISPPARAMS.cArgs),而argv 是参数值的指针(DISPPARAMS.rgvarg)。 请注意,参数值的顺序是反过来的,即数组的最后一个元素是函数中的第一个参数。
另请参阅 QAxBaseWidget::signal()。
© 2026 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.