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()
bool doVerb(const QString &verb)
  • 34 public functions inherited from QObject
  • 19 public functions inherited from QAxBase

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
  • 1 public variable inherited from QObject
  • 10 static public members inherited from QObject
  • 9 protected functions inherited from QObject
  • 5 protected functions inherited from QAxBase
  • 2 protected variables inherited from QObject

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.

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