Auf dieser Seite

CMake-Integration für QML

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

Wichtige CMake-Befehle

qt_add_qml_module

Der Befehl `qt_add_qml_module` ist die zentrale Funktion zum Erstellen von QML-Modulen in CMake. Er übernimmt die Registrierung von QML-Typen, die Einbettung von Ressourcen, die Erstellung von Plugins sowie die Integration in das Qt-Build-System und bietet damit eine deklarative Möglichkeit, 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-Modul-Ziel hinzu. Dies ist nützlich für die Organisation großer Module oder das bedingte Einbinden von QML-Dateien basierend auf der Build-Konfiguration.

qt_add_qml_plugin

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

Bereitstellungsbefehle

qt_deploy_qml_imports

Der Befehl `qt_deploy_qml_imports` identifiziert und stellt alle von Ihrer Anwendung verwendeten QML-Importe einschließlich ihrer Abhängigkeiten bereit. Dadurch wird sichergestellt, dass alle erforderlichen QML-Module und -Plugins zusammen mit Ihrer Anwendung gepackt werden.

qt_generate_deploy_qml_app_script

Der Befehl ` qt_generate_deploy_qml_app_script ` generiert ein plattformspezifisches Bereitstellungsskript, das das Kopieren von QML-Modulen, Plugins und anderen Ressourcen an die richtigen Speicherorte in Ihrem Anwendungsbundle oder Installationsverzeichnis übernimmt.

qt_import_qml_plugins

Der Befehl `qt_import_qml_plugins ` stellt sicher, dass QML-Plugins ordnungsgemäß in statisch kompilierte Anwendungen eingebunden werden, und generiert den erforderlichen Initialisierungscode, um die Plugins bei der QML-Engine zu registrieren.

Erweiterte Befehle

qt_generate_foreign_qml_types

Der Befehl `qt_generate_foreign_qml_types` erstellt QML-Typregistrierungen für C++-Typen, die in anderen Bibliotheken oder Modulen definiert sind. Dadurch können Sie Typen von Drittanbietern oder Qt-Typen für QML verfügbar machen, ohne deren Quellcode zu ändern.

qt_query_qml_module

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

qt_target_compile_qml_to_cpp

Der Befehl `qt_target_compile_qml_to_cpp` ermöglicht die Kompilierung von QML-Dateien in C++ mithilfe von `qmltc`(dem QML-Typkompilierer). Dies bietet eine Alternative zur komponentenbasierten Instanziierung mit verbesserter Leistung für statisch bekannte QML-Typen.

qt_add_qml_preview

Der Befehl `qt_add_qml_preview` richtet die Live-Reload-Unterstützung von `qmlpreview` für ein ausführbares Ziel ein, das QML aus einem oder mehreren `qt_add_qml_module` -Zielen lädt, selbst jedoch kein QML-Modul ist. Er erstellt ein zusätzliches Build-Ziel „ <target>_qmlpreview “, das zur Vorschau der QML-Dateien der ausführbaren Datei verwendet werden kann.

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 aller QML-Module in Ihrem Projekt. Dazu gehören Variablen für Ausgabeverzeichnisse, die Generierung von Cache-Dateien und die Tooling-Integration, sodass Sie die QML-Kompilierungseinstellungen projektweit konfigurieren können.

Globale Eigenschaften

Globale CMake-Eigenschaften in Qt6 Qml beeinflussen die Art und Weise, wie das Build-System QML-Module verarbeitet, und können verwendet werden, um Aspekte wie die Organisation von Linter-Zielen und die Codegenerierung zur Build-Zeit anzupassen.

Eigenschaften von Quelldateien

CMake-Quelldateieigenschaften in Qt6 QML ermöglichen eine fein abgestimmte Steuerung einzelner QML-Dateien innerhalb eines Moduls. Mit diesen Eigenschaften können Sie Dateien als Singletons kennzeichnen, sie von Kompilierungsschritten ausschließen, benutzerdefinierte Typnamen festlegen oder andere dateispezifische Verhaltensweisen im QML-Typsystem steuern.

Ziel-Eigenschaften

Mit den CMake-Ziel-Eigenschaften in Qt6 Qml können Sie das Verhalten einzelner Ziele feinabstimmen, beispielsweise um ein Ziel von einem Verhalten auszuschließen, das andernfalls projektweit für dieses Ziel aktiviert wäre, wie die automatische Erstellung des Ziels „qmlpreview “.

CMake-Richtlinien

Qt Qml definiert mehrere CMake-Richtlinien zur Steuerung der Abwärtskompatibilität und des Verhaltens.

CMake-Richtlinien für QML

Die Seite „CMake-Richtlinien für QML“ bietet einen Überblick über alle QML-bezogenen CMake-Richtlinien und deren Auswirkungen auf das Modulverhalten. Mit diesen Richtlinien können Sie neue Verhaltensweisen aktivieren und gleichzeitig die Kompatibilität mit bestehenden Projekten gewährleisten.

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.