Auf dieser Seite

QAxObject Class

Die Klasse „QAxObject“ stellt eine Schnittstelle vom Typ „ QObject “ bereit, die ein COM-Objekt umschließt. Mehr...

Header: #include <qaxobject.h>
CMake: find_package(Qt6 REQUIRED COMPONENTS AxContainer)
target_link_libraries(mytarget PRIVATE Qt6::AxContainer)
qmake: QT += axcontainer
Erbt von:QAxBaseObject und QAxBase
Vererbt an:

QAxScriptEngine

Öffentliche Funktionen

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)

Neu implementierte geschützte Funktionen

virtual void connectNotify(const QMetaMethod &signal) override

Ausführliche Beschreibung

Ein QAxObject kann als leeres Objekt, mit dem Namen des COM-Objekts, das es umschließen soll, oder mit einem Zeiger auf das IUnknown-Objekt, das ein vorhandenes COM-Objekt repräsentiert, instanziiert werden. Wenn das COM-Objekt die Schnittstelle „ IDispatch “ implementiert, stehen die Eigenschaften, Methoden und Ereignisse dieses Objekts als Qt-Eigenschaften, Slots und Signale zur Verfügung. Die Basisklasse „ QAxBase “ stellt eine API bereit, um über den „IUnknown“-Zeiger direkt auf das COM-Objekt zuzugreifen.

QAxObject ist ein ` QObject ` und kann als solches verwendet werden, d. h. es kann in eine Objekthierarchie eingebunden werden, Ereignisse empfangen und mit Signalen und Slots verbunden werden.

QAxObject erbt zudem den Großteil seiner ActiveX-bezogenen Funktionalität von ` QAxBase`, insbesondere ` dynamicCall()` und ` querySubObject()`.

Warnung: Sie können QAxObject unterklassen, aber Sie können das Makro „ Q_OBJECT “ in der Unterklasse nicht verwenden (die generierte MOC-Datei lässt sich nicht kompilieren), sodass Sie keine weiteren Signale, Slots oder Eigenschaften hinzufügen können. Diese Einschränkung ist auf die zur Laufzeit generierten Metaobjektinformationen zurückzuführen. Um dieses Problem zu umgehen, aggregieren Sie das QAxObject als Mitglied der Unterklasse „ QObject “.

Siehe auch „ QAxBase“ , „ QAxWidget “, „ QAxScript “ und „ActiveQt Framework“.

Dokumentation zu den Mitgliedsfunktionen

[explicit] QAxObject::QAxObject(QObject *parent = nullptr)

Erstellt ein leeres COM-Objekt und übergibt „ parent “ an den Konstruktor „ QObject “. Um das Objekt zu initialisieren, rufen Sie „setControl()“ auf.

Siehe auch setControl().

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

Erstellt ein QAxObject, das das COM-Objekt umschließt, auf das unter iface verwiesen wird. parent wird an den Konstruktor QObject weitergegeben.

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

Erstellt ein QAxObject, das das COM-Objekt „ c “ umschließt. „ parent “ wird an den Konstruktor von „ QObject “ weitergegeben.

Siehe auch „ setControl() “.

[override virtual noexcept] QAxObject::~QAxObject()

Gibt das COM-Objekt frei und löscht die ` QAxObject`, wobei alle zugewiesenen Ressourcen bereinigt werden.

[override virtual protected] void QAxObject::connectNotify(const QMetaMethod &signal)

Implementiert neu: QObject::connectNotify(const QMetaMethod &signal).

bool QAxObject::doVerb(const QString &verb)

Fordert das COM-Objekt auf, die Aktion „ verb “ auszuführen. Die möglichen Verben werden von „ verbs()“ zurückgegeben.

Die Funktion gibt „true“ zurück, wenn das Objekt die Aktion ausführen konnte, andernfalls „false“.

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