The QAxObject class provides a QObject that wraps a COM object. More...
Header: | #include <QAxObject> |
CMake: | find_package(Qt6 COMPONENTS AxContainer REQUIRED) target_link_libraries(mytarget PRIVATE Qt6::AxContainer) |
qmake: | QT += axcontainer |
Inherits: | QAxBaseObject and QAxBase |
Inherited By: |
QAxObject(IUnknown *iface, QObject *parent = nullptr) | |
QAxObject(const QString &c, QObject *parent = nullptr) | |
QAxObject(QObject *parent = nullptr) | |
virtual | ~QAxObject() override |
bool | doVerb(const QString &verb) |
virtual void | connectNotify(const QMetaMethod &signal) override |
A QAxObject can be instantiated as an empty object, with the name of the COM object it should wrap, or with a pointer to the IUnknown that represents an existing COM object. If the COM object implements the IDispatch
interface, the properties, methods and events of that object become available as Qt properties, slots and signals. The base class, QAxBase, provides an API to access the COM object directly through the IUnknown pointer.
QAxObject is a QObject and can be used as such, e.g. it can be organized in an object hierarchy, receive events and connect to signals and slots.
QAxObject also inherits most of its ActiveX-related functionality from QAxBase, notably dynamicCall() and querySubObject().
Warning: You can subclass QAxObject, but you cannot use the Q_OBJECT macro in the subclass (the generated moc-file will not compile), so you cannot add further signals, slots or properties. This limitation is due to the metaobject information generated in runtime. To work around this problem, aggregate the QAxObject as a member of the QObject subclass.
See also QAxBase, QAxWidget, QAxScript, and ActiveQt Framework.
Creates a QAxObject that wraps the COM object referenced by iface. parent is propagated to the QObject constructor.
Creates a QAxObject that wraps the COM object c. parent is propagated to the QObject constructor.
See also setControl().
Creates an empty COM object and propagates parent to the QObject constructor. To initialize the object, call setControl().
See also setControl().
[override virtual]
QAxObject::~QAxObject()
Releases the COM object and destroys the QAxObject, cleaning up all allocated resources.
[override virtual protected]
void QAxObject::connectNotify(const QMetaMethod &signal)
Reimplements: QObject::connectNotify(const QMetaMethod &signal).
Requests the COM object to perform the action verb. The possible verbs are returned by verbs().
The function returns true if the object could perform the action, otherwise returns false.
© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-6.2/qaxobject.html