qt_import_plugins

Gibt einen benutzerdefinierten Satz von Plugins an, die importiert oder ausgeschlossen werden sollen.

Der Befehl ist in der Core Komponente des Qt6 Pakets definiert, das so geladen werden kann:

find_package(Qt6 REQUIRED COMPONENTS Core)

Dieser Befehl wurde in Qt 5.14 eingeführt.

Synopse

qt_import_plugins(target
                  [INCLUDE plugin ...]
                  [EXCLUDE plugin ...]
                  [INCLUDE_BY_TYPE plugin_type plugin ...]
                  [EXCLUDE_BY_TYPE plugin_type]
                  [NO_DEFAULT]
)

Wenn versionslose Befehle deaktiviert sind, verwenden Sie stattdessen qt6_import_plugins(). Es unterstützt den gleichen Satz an Argumenten wie dieser Befehl.

Beschreibung

Gibt einen benutzerdefinierten Satz von zu importierenden Plugins an. Die optionalen Argumente: INCLUDE, EXCLUDE, INCLUDE_BY_TYPE, und EXCLUDE_BY_TYPE, können mehrmals verwendet werden.

  • INCLUDE - kann verwendet werden, um eine Liste von zu importierenden Plugins anzugeben.
  • EXCLUDE - kann verwendet werden, um eine Liste von Plugins anzugeben, die ausgeschlossen werden sollen.
  • INCLUDE_BY_TYPE - kann verwendet werden, um die Liste der zu importierenden Plugins für einen bestimmten Plugin-Typ zu überschreiben.
  • EXCLUDE_BY_TYPE - kann verwendet werden, um einen auszuschließenden Plugin-Typ anzugeben; dann werden keine Plugins dieses Typs importiert.
  • NO_DEFAULT - verhindern, dass die Standard-Plugins automatisch eingebunden werden (z.B. das Standard-Plattform-Plugin).

Qt bietet Plugin-Typen wie imageformats, platforms und sqldrivers.

Dynamische Plugins

Wenn es sich bei den Plugins um dynamische Bibliotheken handelt, steuert die Funktion die Bereitstellung der Plugins. Mit dieser Funktion können Sie z. B. bestimmte Plugin-Typen davon ausschließen, in ein Android-APK gepackt zu werden:

qt_add_executable(MyApp ...)
...
qt_import_plugins(MyApp EXCLUDE_BY_TYPE imageformats)

Im obigen Schnipsel werden alle Plugins mit dem Typ imageformats beim Deployment von MyApp ausgeschlossen. Das resultierende Android APK wird keines der imageformats Plugins enthalten.

Wenn der Befehl nicht verwendet wird, stellt das Ziel automatisch alle Plugins bereit, die zu den Qt-Modulen gehören, mit denen das Ziel verknüpft ist.

Statische Plugins

Wenn der Befehl nicht verwendet wird, verlinkt das Ziel automatisch gegen einen vernünftigen Satz von statischen Standard-Plugins für jedes Qt-Modul, gegen das das Ziel verlinkt ist. Für weitere Informationen, siehe target_link_libraries.

Jedes Plugin wird mit einer C++ Stub-Datei geliefert, die das statische Plugin automatisch initialisiert. Folglich hat jedes Target, das gegen ein Plugin gelinkt wird, diese C++-Datei zu seinem SOURCES hinzugefügt.

Beispiele

qt_add_executable(myapp main.cpp)
target_link_libraries(myapp Qt6::Gui Qt6::Sql)
qt_import_plugins(myapp
    INCLUDE Qt6::QCocoaIntegrationPlugin
    EXCLUDE Qt6::QMinimalIntegrationPlugin
    INCLUDE_BY_TYPE imageformats Qt6::QGifPlugin Qt6::QJpegPlugin
    EXCLUDE_BY_TYPE sqldrivers
)

In dem obigen Ausschnitt geschieht Folgendes mit der ausführbaren Datei myapp:

  • Die Qt6::QCocoaIntegrationPlugin wird in myapp importiert.
  • Das Plugin Qt6::QMinimalIntegrationPlugin wird vom automatischen Import in myapp ausgeschlossen.
  • Die Standardliste der Plugins für imageformats wird überschrieben und enthält nur Qt6::QGifPlugin und Qt6::QJpegPlugin.
  • Alle sqldrivers -Plugins sind vom automatischen Import ausgeschlossen.

Siehe auch qt_import_qml_plugins().

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