Qt Qml

Das Modul Qt Qml bietet einen Rahmen für die Entwicklung von Anwendungen und Bibliotheken mit der Sprache QML. Es definiert und implementiert die Sprach- und Engine-Infrastruktur und bietet eine API, die es Anwendungsentwicklern ermöglicht, benutzerdefinierte QML-Typen und -Module zu registrieren und QML-Code in JavaScript und C++ zu integrieren. Das Modul Qt Qml bietet sowohl eine QML API als auch eine C++ API.

Verwendung des Moduls

QML-API

Die QML-Typen des Moduls sind über den QtQml -Import verfügbar. Um die Typen zu verwenden, fügen Sie die folgende Import-Anweisung zu Ihrer .qml-Datei hinzu:

import QtQml

Das Modul Qt Qml enthält das QML-Framework und wichtige QML-Typen, die in Anwendungen verwendet werden. Die Konstrukte von QML sind in der QML-Referenz beschrieben.

Die QML API des Moduls Qt Qml bietet eine Reihe von QML-Objekttypen, QML-Werttypen und Namespaces.

C++-API

Die Verwendung der C++-API eines Qt-Moduls erfordert eine Verknüpfung mit der Modulbibliothek, entweder direkt oder über andere Abhängigkeiten. Mehrere Build-Tools bieten hierfür spezielle Unterstützung, darunter CMake und qmake.

Die C++-API enthält einige wichtige Klassen, mit denen Sie sich vertraut machen sollten. Sie bietet auch Typen für die Speicherung von JavaScript-Werten.

Bauen mit CMake

Verwenden Sie den Befehl find_package(), um die benötigte Modulkomponente im Paket Qt6 zu finden:

find_package(Qt6 REQUIRED COMPONENTS Qml)
target_link_libraries(mytarget PRIVATE Qt6::Qml)

Weitere Einzelheiten finden Sie in der Übersicht Build with CMake.

Um fremde QML-Typen für eine Nicht-QML-Bibliothek zu unterstützen, suchen Sie das Modul QmlIntegration wie folgt:

find_package(Qt6 REQUIRED COMPONENTS QmlIntegration)
target_link_libraries(mytarget PRIVATE Qt6::QmlIntegration)

Siehe qt6_generate_foreign_qml_types für Details.

Bauen mit qmake

Um das Modul für die Erstellung mit qmake zu konfigurieren, fügen Sie das Modul als Wert der Variable QT in der .pro-Datei des Projekts hinzu:

QT += qml

Registrierung von QML-Typen und QML-Modulen

Um Typen für die Verwendung mit QML zu registrieren, müssen Sie zunächst ein QML-Modul definieren, vorzugsweise mit qt_add_qml_module in CMake. Dann können Sie C++-Header zu Ihrem neuen Modul hinzufügen und darin Typen definieren, die für QML verfügbar sein sollen.

Optimieren der Engine

Es gibt eine Reihe von Reglern, an denen Sie drehen können, um das Verhalten der QML-Engine anzupassen. Auf der Seite zur Konfiguration der JavaScript-Engine sind die Umgebungsvariablen aufgeführt, die Sie zu diesem Zweck verwenden können. Die Beschreibung des QML Disk Cache beschreibt die Optionen, die sich darauf beziehen, wie Ihre QML-Komponenten kompiliert und geladen werden.

Artikel und Leitfäden

Diese Artikel enthalten Informationen über Qt Qml.

Referenz

Lizenzen und Namensnennung

Qt Qml ist unter kommerziellen Lizenzen von The Qt Company erhältlich. Darüber hinaus ist es unter freien Software-Lizenzen verfügbar. Seit Qt 5.4 sind diese Lizenzen für freie Software die GNU Lesser General Public License, Version 3, oder die GNU General Public License, Version 2. Siehe Qt Licensing für weitere Details.

Außerdem kann Qt Qml in Qt 6.8.2 Module von Drittanbietern unter den folgenden Lizenzen enthalten:

JavaScriptCore Macro Assembler

BSD 2-Klausel "Vereinfachte" Lizenz

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