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.