Auf dieser Seite

CMake-Integration für QML

Qt bietet eine umfassende CMake-Integration für die Erstellung von QML-Modulen und -Anwendungen.

Zentrale CMake-Befehle

qt_add_qml_module

Der Befehl qt_add_qml_module ist die Hauptfunktion zur Erstellung von QML-Modulen in CMake. Er kümmert sich um die Registrierung von QML-Typen, die Einbettung von Ressourcen, die Erstellung von Plugins und die Integration mit dem Qt-Build-System und bietet einen deklarativen Weg, um alle Aspekte eines QML-Moduls zu definieren.

qt_target_qml_sources

Der Befehl qt_target_qml_sources fügt QML-Dateien und -Ressourcen zu einem bestehenden QML-Modulziel hinzu. Dies ist nützlich, um große Module zu organisieren oder QML-Dateien basierend auf der Build-Konfiguration bedingt einzuschließen.

qt_add_qml_plugin

Der Befehl qt_add_qml_plugin erstellt eine QML-Plugin-Bibliothek, die dynamisch von der QML-Engine geladen werden kann. Während qt_add_qml_module die Plugin-Erstellung normalerweise automatisch durchführt, bietet diese Funktion bei Bedarf eine Kontrolle auf niedrigerer Ebene.

Deployment-Befehle

qt_deploy_qml_imports

Der Befehl qt_deploy_qml_imports identifiziert alle QML-Importe, die von Ihrer Anwendung verwendet werden, einschließlich ihrer Abhängigkeiten, und stellt sie bereit. Dadurch wird sichergestellt, dass alle notwendigen QML-Module und Plugins mit Ihrer Anwendung verpackt werden.

qt_generate_deploy_qml_app_script

Der Befehl qt_generate_deploy_qml_app_script generiert ein plattformspezifisches Deployment-Skript, das das Kopieren von QML-Modulen, Plugins und anderen Ressourcen an die richtigen Stellen in Ihrem Anwendungsbündel oder Installationsverzeichnis übernimmt.

qt_import_qml_plugins

Der Befehl qt_import_qml_plugins stellt sicher, dass QML-Plugins ordnungsgemäß in statisch erstellte Anwendungen eingebunden werden, indem er den erforderlichen Initialisierungscode zur Registrierung der Plugins bei der QML-Engine erzeugt.

Erweiterte Befehle

qt_generate_foreign_qml_types

Der Befehl qt_generate_foreign_qml_types erzeugt QML-Typregistrierungen für C++-Typen, die in anderen Bibliotheken oder Modulen definiert sind. Dies ermöglicht es Ihnen, Typen von Drittanbietern oder Qt-Typen in QML einzubinden, ohne deren Quellcode zu modifizieren.

qt_abfrage_qml_modul

Der Befehl qt_query_qml_module ruft Informationen über ein QML-Modul ab, wie z.B. dessen URI, Version, Plugin-Ziel und Dateipfade für Typinformationen. Dies ist nützlich für die Introspektion des Build-Systems und die Tooling-Integration.

qt_target_compile_qml_to_cpp

Der Befehl qt_target_compile_qml_to_cpp ermöglicht die Kompilierung von QML-Dateien nach C++ mit qmltc(dem QML-Typ-Compiler). Dies bietet eine Alternative zur komponentenbasierten Instanzierung mit verbesserter Leistung für statisch bekannte QML-Typen.

CMake-Variablen und -Eigenschaften

Qt QML bietet mehrere CMake-Variablen und -Eigenschaften zur Konfiguration des Verhaltens von QML-Modulen:

Globale Variablen

Globale CMake-Variablen in Qt6 Qml steuern das Standardverhalten für alle QML-Module in Ihrem Projekt. Dazu gehören Variablen für Ausgabeverzeichnisse, die Erzeugung von Cachedateien und die Tooling-Integration, die es Ihnen ermöglichen, QML-Kompilierungseinstellungen auf projektweiter Ebene zu konfigurieren.

Globale Eigenschaften

Dieglobalen Eigenschaften von CMake in Qt6 Qml wirken sich darauf aus, wie das Build-System QML-Module verarbeitet, und können verwendet werden, um Aspekte wie die Organisation von Linter-Targets und die Codegenerierung zur Build-Zeit anzupassen.

Quelldatei-Eigenschaften

CMake Quelldateieigenschaften in Qt6 Qml ermöglichen eine feinkörnige Kontrolle über einzelne QML-Dateien innerhalb eines Moduls. Sie können diese Eigenschaften verwenden, um Dateien als Singletons zu markieren, sie von Kompilierungsschritten auszuschließen, benutzerdefinierte Typnamen zu spezifizieren oder andere Verhaltensweisen des QML-Typsystems pro Datei zu steuern.

CMake-Richtlinien

Qt QML definiert mehrere CMake-Richtlinien, um die Abwärtskompatibilität und das Verhalten zu steuern.

CMake-Richtlinien für QML

Die Seite CMake Policies for QML bietet einen Überblick über alle QML-bezogenen CMake Policies und wie sie das Verhalten von Modulen beeinflussen. Richtlinien ermöglichen es Ihnen, sich für neue Verhaltensweisen zu entscheiden und gleichzeitig die Kompatibilität mit bestehenden Projekten zu erhalten.

Siehe auch QML-Module, qt_add_qml_module, und QML-Module schreiben.

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