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
継承元:

QExtensionManager

パブリック関数

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)

与えられた拡張子factoryiid で指定された拡張子に登録する。

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