QAxObject Class

The QAxObject class provides a QObject that wraps a COM object. More...

Header: #include <QAxObject>
qmake: QT += axcontainer
Inherits: QObject and QAxBase
Inherited By:

QAxScriptEngine

Public Functions

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)
  • 31 public functions inherited from QObject
  • 19 public functions inherited from QAxBase

Static Public Members

const QMetaObject staticMetaObject
  • 9 static public members inherited from QObject

Reimplemented Protected Functions

virtual void connectNotify(const QMetaMethod &signal) override
  • 9 protected functions inherited from QObject
  • 5 protected functions inherited from QAxBase

Additional Inherited Members

  • 1 property inherited from QObject
  • 1 property inherited from QAxBase
  • 1 public slot inherited from QObject
  • 2 signals inherited from QObject
  • 3 signals inherited from QAxBase
  • 9 protected functions inherited from QObject
  • 5 protected functions inherited from QAxBase

Detailed Description

The QAxObject class provides a QObject that wraps a COM object.

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.

Member Function Documentation

QAxObject::QAxObject(QObject *parent = nullptr)

Creates an empty COM object and propagates parent to the QObject constructor. To initialize the object, call setControl.

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

Creates a QAxObject that wraps the COM object c. parent is propagated to the QObject constructor.

See also setControl().

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

Creates a QAxObject that wraps the COM object referenced by iface. parent is propagated to the QObject constructor.

[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)

Reimplemented from QObject::connectNotify().

bool QAxObject::doVerb(const QString &verb)

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.

This function was introduced in Qt 4.1.

© 2021 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.