QAxObject Class

Die Klasse QAxObject bietet eine QObject, die ein COM-Objekt umhüllt. Mehr...

Kopfzeile: #include <QAxObject>
CMake: find_package(Qt6 REQUIRED COMPONENTS AxContainer)
target_link_libraries(mytarget PRIVATE Qt6::AxContainer)
qmake: QT += axcontainer
Erbt: QAxBaseObject und QAxBase
Vererbt von:

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)

Reimplementierte geschützte Funktionen

virtual void connectNotify(const QMetaMethod &signal) override

Detaillierte Beschreibung

Ein QAxObject kann als leeres Objekt, mit dem Namen des COM-Objekts, das es umhüllen soll, oder mit einem Zeiger auf IUnknown, das ein bestehendes COM-Objekt repräsentiert, instanziert werden. Wenn das COM-Objekt die Schnittstelle IDispatch implementiert, werden die Eigenschaften, Methoden und Ereignisse dieses Objekts als Qt-Eigenschaften, Slots und Signale verfügbar. Die Basisklasse QAxBase bietet eine API für den direkten Zugriff auf das COM-Objekt über den IUnknown-Zeiger.

QAxObject ist ein QObject und kann als solches verwendet werden, z.B. kann es in einer Objekthierarchie organisiert werden, Ereignisse empfangen und sich mit Signalen und Slots verbinden.

QAxObject erbt auch die meisten seiner ActiveX-bezogenen Funktionen von QAxBase, insbesondere dynamicCall() und querySubObject().

Warnung: Sie können QAxObject unterklassifizieren, aber Sie können das Q_OBJECT Makro in der Unterklasse nicht verwenden (die generierte moc-Datei wird nicht kompiliert), so dass 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 der Mitgliedsfunktionen

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

Erzeugt ein leeres COM-Objekt und überträgt parent an den QObject Konstruktor. Um das Objekt zu initialisieren, rufen Sie setControl() auf.

Siehe auch setControl().

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

Erzeugt ein QAxObject, das das von iface referenzierte COM-Objekt umhüllt. parent wird an den QObject -Konstruktor weitergegeben.

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

Erzeugt ein QAxObject, das das COM-Objekt c umhüllt. parent wird an den QObject -Konstruktor 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)

Reimplements: 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 gibt sie false zurück.

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