QAbstractExtensionManager Class
QAbstractExtensionManager クラスは、Qt Widgets Designer の拡張機能マネージャ用のインターフェイスを提供します。詳細...
ヘッダー | #include <QAbstractExtensionManager> |
CMake: | find_package(Qt6 REQUIRED COMPONENTS Designer) target_link_libraries(mytarget PRIVATE Qt6::Designer) |
qmake: | QT += designer |
継承元: |
パブリック関数
virtual | ~QAbstractExtensionManager() |
virtual QObject * | extension(QObject *object, const QString &iid) const = 0 |
virtual void | registerExtensions(QAbstractExtensionFactory *factory, const QString &iid) = 0 |
virtual void | unregisterExtensions(QAbstractExtensionFactory *factory, const QString &iid) = 0 |
詳細説明
QAbstractExtensionManager は直接インスタンス化することを意図していません。代わりにQExtensionManager を使用してください。
Qt Widgets Designerでは、エクステンションは必要になるまで作成されません。そのため、カスタム拡張機能を実装する場合は、QExtensionFactory 、つまり拡張機能のインスタンスを作成できるクラスを作成し、Qt Widgets Designer のextension manager を使用して登録する必要があります。
拡張機能が必要な場合、Qt Widgets Designer のextension manager は、選択されたオブジェクトに対して要求された拡張機能を作成できる最初のファクトリーが見つかるまで、登録されたすべてのファクトリーに対してQExtensionFactory::createExtension() を呼び出します。このファクトリーは拡張機能のインスタンスを作成します。
QExtensionManager およびQExtensionFactoryも参照して ください。
メンバ関数のドキュメント
[virtual noexcept]
QAbstractExtensionManager::~QAbstractExtensionManager()
拡張機能マネージャーを破壊する。
[pure virtual]
QObject *QAbstractExtensionManager::extension(QObject *object, const QString &iid) const
与えられたobject に対して、iid で指定された拡張子を返す。
[pure virtual]
void QAbstractExtensionManager::registerExtensions(QAbstractExtensionFactory *factory, const QString &iid)
与えられた拡張子factory をiid で指定された拡張子に登録する。
[pure virtual]
void QAbstractExtensionManager::unregisterExtensions(QAbstractExtensionFactory *factory, const QString &iid)
iid で指定された拡張子で、与えられたfactory の登録を解除する。
© 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.