Auf dieser Seite

QQmlExtensionPlugin Class

Die Klasse „QQmlExtensionPlugin“ bietet eine abstrakte Basis für benutzerdefinierte QML-Erweiterungs-Plugins mit benutzerdefinierten Funktionen zur Typregistrierung. Mehr...

Header: #include <QQmlExtensionPlugin>
CMake: find_package(Qt6 REQUIRED COMPONENTS Qml)
target_link_libraries(mytarget PRIVATE Qt6::Qml)
qmake: QT += qml
Erbt von: QObject

Öffentliche Funktionen

(since 6.0) virtual void unregisterTypes()

Neu implementierte öffentliche Funktionen

virtual void initializeEngine(QQmlEngine *engine, const char *uri) override
virtual void registerTypes(const char *uri) override = 0

Ausführliche Beschreibung

Hinweis: Wenn Sie ein Plugin manuell schreiben müssen (was selten vorkommt), sollten Sie immer QQmlEngineExtensionPlugin verwenden. QQmlExtensionPlugin stellt lediglich zusätzlich die Funktionen „ registerTypes()“ und „ unregisterTypes()“ bereit. Sie sollten diese nicht verwenden, sondern Ihre Typen stattdessen mit „ QML_ELEMENT “ und ähnlichen Funktionen deklarieren und die Registrierung dem Build-System überlassen.

Dokumentation zu Mitgliedsfunktionen

[override virtual] void QQmlExtensionPlugin::initializeEngine(QQmlEngine *engine, const char *uri)

Initialisiert die Erweiterung aus dem „ uri “ mithilfe von „ engine “. Hier könnte ein Anwendungs-Plugin beispielsweise bestimmte Daten oder Objekte für QML als Kontexteigenschaften im Root-Kontext der Engine bereitstellen.

[override pure virtual] void QQmlExtensionPlugin::registerTypes(const char *uri)

Registriert die QML-Typen im angegebenen „ uri “. Unterklassen sollten dies implementieren, um für alle Typen, die vom Erweiterungs-Plugin bereitgestellt werden, die Methode „ qmlRegisterType()“ aufzurufen.

Die „ uri “ ist eine Kennung für das Plugin, die von der QML-Engine basierend auf dem Namen und dem Pfad der Plugin-Bibliothek der Erweiterung generiert wird.

[virtual, since 6.0] void QQmlExtensionPlugin::unregisterTypes()

Überschreiben Sie diese Methode, um Typen zu deaktivieren, die manuell unter „ registerTypes “ registriert wurden.

Diese Funktion wurde in Qt 6.0 eingeführt.

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