Auf dieser Seite

Integration von QML und JavaScript

Die Sprache QML verwendet eine JSON-ähnliche Syntax und ermöglicht es, verschiedene Ausdrücke und Methoden als JavaScript-Funktionen zu definieren. Außerdem können Benutzer JavaScript-Dateien importieren und die durch diese Importe bereitgestellten Funktionen nutzen.

Dadurch können Entwickler und Designer ihre JavaScript-Kenntnisse nutzen, um sowohl Benutzeroberflächen als auch Anwendungslogik schnell zu entwickeln.

JavaScript-Ausdrücke

QML verfügt über eine umfassende JavaScript-Integration und ermöglicht es, Signal-Handler und Methoden in JavaScript zu definieren. Ein weiteres Kernmerkmal von QML ist die Möglichkeit, Beziehungen zwischen Objekteigenschaften mithilfe von Eigenschaftsbindungen festzulegen und durchzusetzen, die ebenfalls mit JavaScript definiert werden.

Weitere Informationen zur Verwendung von JavaScript-Ausdrücken in QML finden Sie auf der Dokumentationsseite mit dem Titel „JavaScript-Ausdrücke in QML-Dokumenten “.

Dynamische Erstellung von QML-Objekten aus JavaScript

QML unterstützt die dynamische Erstellung von Objekten aus JavaScript heraus. Dies ist nützlich, um die Instanziierung von Objekten bis zum tatsächlichen Bedarf zu verzögern und so die Startzeit der Anwendung zu verbessern. Außerdem ermöglicht es, visuelle Objekte dynamisch zu erstellen und als Reaktion auf Benutzereingaben oder andere Ereignisse zur Szene hinzuzufügen. Diese Funktionalität kann auf zwei Hauptweisen genutzt werden.

Objekte können dynamisch aus JavaScript auf imperativem Weg mithilfe der dynamischen Objekterstellung erstellt werden. Dies kann beispielsweise nützlich sein, wenn QML als Skriptsprache für Anwendungen verwendet wird.

Hinweis: Bei der Erstellung von Benutzeroberflächen ist die Verwendung deklarativer Konstrukte die bevorzugte Methode zur dynamischen Erstellung von Objekten, da diese sich am besten in die QML-Engine und die Werkzeuge integrieren lassen. Es gibt verschiedene Typen, die diese Funktionalität ermöglichen, wie beispielsweise die Typen „ Loader “, „ Instantiator “ und „ Repeater “.

JavaScript-Ressourcen

In JavaScript-Funktionen definierte Anwendungslogik kann in separate JavaScript-Dateien, sogenannte JavaScript-Ressourcen, ausgelagert werden. Es gibt verschiedene Arten von JavaScript-Ressourcen mit unterschiedlicher Semantik.

Weitere Informationen zum Definieren von JavaScript-Ressourcen für QML finden Sie auf der Dokumentationsseite „Defining JavaScript Resources In QML “.

JavaScript-Importe

Ein QML-Dokument kann JavaScript-Ressourcen importieren, und JavaScript-Ressourcen können sowohl andere JavaScript-Ressourcen als auch QML-Module importieren. Dies ermöglicht es einem Anwendungsentwickler, Anwendungslogik in modularen, in sich geschlossenen Dateien bereitzustellen.

Weitere Informationen zum Importieren von JavaScript-Ressourcen und zur Nutzung der von ihnen bereitgestellten Funktionen finden Sie auf der Dokumentationsseite „Importieren von JavaScript-Ressourcen “.

JavaScript-Hostumgebung

Die QML-Engine stellt eine JavaScript-Umgebung bereit, die einige Unterschiede zur JavaScript-Umgebung eines Webbrowsers aufweist. Für den in dieser Umgebung ausgeführten Code gelten bestimmte Einschränkungen, und die QML-Engine stellt im Root-Kontext verschiedene Objekte bereit, die JavaScript-Entwicklern möglicherweise unbekannt sind.

Diese Einschränkungen und Erweiterungen sind in der Beschreibung der von der QML-Engine bereitgestellten JavaScript-Hostumgebung dokumentiert.

Außerdem gibt es eine ausführliche Beschreibung der von der JavaScript-Engine verwendeten Speicherverwaltung.

Konfiguration der JavaScript-Engine

Für bestimmte Anwendungsfälle möchten Sie möglicherweise einige der Parameter überschreiben, die die JavaScript-Engine für die Speicherverwaltung und die Kompilierung von JavaScript verwendet. Weitere Informationen zu diesen Parametern finden Sie unter „Konfiguration der JavaScript-Engine “.

Anwendungen skriptfähig machen

Über die Verwendung von JavaScript in Qml-Dokumenten hinaus ermöglicht Qt Ihnen auch, eine JavaScript-Engine in C++-Anwendungen einzubetten, um diese skriptfähig zu machen. Dadurch lässt sich die Funktionalität von Anwendungen mithilfe von JavaScript erweitern, ohne die Anwendung neu kompilieren zu müssen.

Unter „Anwendungen skriptfähig machen“ finden Sie detaillierte Informationen zur Verwendung der JavaScript-Engine in C++-Anwendungen, einschließlich der Bereitstellung von „ QObject “-Instanzen für Skripte sowie Sicherheitsaspekte.

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