Класс QAxObject
Класс QAxObject предоставляет QObject, который оборачивает объект COM. Подробнее...
| Заголовок: | #include <QAxObject> |
| CMake: | find_package(Qt6 COMPONENTS AxContainer REQUIRED) target_link_libraries(mytarget PRIVATE Qt6::AxContainer) |
| qmake: | QT += axcontainer |
| Наследует: | QAxBaseObject и QAxBase |
| Наследуется от: |
Открытые функции
| 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 |
Подробное описание
QAxObject может быть создан как пустой объект, с именем объекта COM, который он должен обернуть, или с указателем на IUnknown, представляющим существующий объект COM. Если объект COM реализует интерфейс IDispatch, свойства, методы и события этого объекта становятся доступны как свойства, слоты и сигналы Qt. Базовый класс QAxBase предоставляет API для прямого доступа к объекту COM через указатель IUnknown.
QAxObject является QObject и может быть использован как таковой, например, он может быть организован в иерархии объектов, получать события и подключаться к сигналам и слотам.
QAxObject также наследует большую часть своей функциональности, связанной с ActiveX, от QAxBase, в частности dynamicCall() и querySubObject().
Предупреждение: Вы можете создать подкласс QAxObject, но вы не можете использовать макрос Q_OBJECT в подклассе (сгенерированный файл moc не будет компилироваться), поэтому вы не можете добавлять дополнительные сигналы, слоты или свойства. Это ограничение связано с метаобъектной информацией, генерируемой во время выполнения. Чтобы обойти эту проблему, агрегируйте QAxObject как член подкласса QObject.
См. также QAxBase, QAxWidget, QAxScript и Фреймворк ActiveQt.
Документация по членам-функциям
QAxObject::QAxObject(IUnknown *iface, QObject *parent = nullptr)
Создаёт QAxObject, который оборачивает объект COM, на который ссылается iface. parent передаётся конструктору QObject.
QAxObject::QAxObject(const QString &c, QObject *parent = nullptr)
Создаёт QAxObject, который оборачивает объект COM c. parent передаётся конструктору QObject.
См. также setControl().
QAxObject::QAxObject(QObject *parent = nullptr)
Создаёт пустой объект COM и передаёт parent конструктору QObject. Для инициализации объекта вызовите setControl().
См. также setControl().
[override virtual] QAxObject::~QAxObject()
Освобождает объект COM и уничтожает QAxObject, очищая все выделенные ресурсы.
[override virtual protected] void QAxObject::connectNotify(const QMetaMethod &signal)
Переопределяет: QObject::connectNotify(const QMetaMethod &signal).
bool QAxObject::doVerb(const QString &verb)
Запрашивает объект COM выполнить действие verb. Возможные действия возвращаются функцией verbs().
Функция возвращает true, если объект смог выполнить действие, иначе возвращает false.
© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-6.1/qaxobject.html