The QAxObject 類提供 QObject 包裹 COM (組件對象模型) 對象。 更多...
| 頭: | #include <QAxObject> |
| qmake: | QT += axcontainer |
| 繼承: | QObject and QAxBase |
| 繼承者: | QAxScriptEngine |
| 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 ) |
| const QMetaObject | staticMetaObject |
| virtual void | connectNotify (const QMetaMethod & signal ) override |
The QAxObject 類提供 QObject 包裹 COM (組件對象模型) 對象。
A
QAxObject
可以被實例化成空對象,具有應包裹的 COM 對象名,或具有指嚮錶示現有 COM 對象的 IUnknown 指針。若 COM 對象有實現
IDispatch
接口,該對象的特性、方法和事件將變為可用 Qt 特性、槽及信號。基類
QAxBase
提供能透過 IUnknown 指針直接訪問 COM 對象的 API。
QAxObject 是 QObject 且可以這樣使用,如:可以按對象層次結構、接收事件及連接信號/槽組織它。
QAxObject 還繼承瞭其 ActiveX 相關的大部分功能從 QAxBase ,顯而易見 dynamicCall () 和 querySubObject ().
警告: 可以子類化 QAxObject ,但無法使用 Q_OBJECT 宏在子類中 (不會編譯生成的 moc 文件),所以,無法進一步添加信號、槽或特性。此局限性是由在運行時,生成的元對象信息造成的。要解決此問題,聚閤 QAxObject 作為成員對於 QObject 子類。
另請參閱 QAxBase , QAxWidget , QAxScript ,和 ActiveQt 框架 .
創建空 COM 對象並傳播 parent 到 QObject 構造函數。以初始化對象,調用 setControl .
創建 QAxObject 包裹 COM 對象 c . parent 被傳播給 QObject 構造函數。
另請參閱 setControl ().
創建 QAxObject 包裹引用 COM 對象通過 iface . parent 被傳播給 QObject 構造函數。
[override virtual]
QAxObject::
~QAxObject
()
釋放 COM 對象並銷毀 QAxObject ,清理所有分配資源。
[override virtual protected]
void
QAxObject::
connectNotify
(const
QMetaMethod
&
signal
)
重實現自 QObject::connectNotify ().
請求 COM 對象以履行動作 verb 。可能的 verb 的返迴是通過 verbs ().
函數返迴 true 若對象能履行動作,否則返迴 false。
該函數在 Qt 4.1 引入。