Sur cette page

Intégration de QML et de JavaScript

Le langage QML utilise une syntaxe de type JSON et permet de définir diverses expressions et méthodes sous forme de fonctions JavaScript. Il permet également aux utilisateurs d’importer des fichiers JavaScript et d’utiliser les fonctionnalités fournies par ces importations.

Cela permet aux développeurs et aux concepteurs de tirer parti de leurs connaissances en JavaScript pour développer rapidement à la fois des interfaces utilisateur et la logique d'application.

Expressions JavaScript

QML intègre profondément JavaScript et permet de définir des gestionnaires de signaux et des méthodes en JavaScript. Une autre fonctionnalité essentielle de QML est la possibilité de spécifier et d’appliquer des relations entre les propriétés d’objets à l’aide de liaisons de propriétés, qui sont également définies en JavaScript.

Consultez la page de documentation intitulée « Expressions JavaScript dans les documents QML » pour plus d’informations sur l’utilisation des expressions JavaScript dans QML.

Création dynamique d’objets QML à partir de JavaScript

QML prend en charge la création dynamique d’objets à partir de JavaScript. Cela permet de différer l’instanciation des objets jusqu’à ce qu’elle soit nécessaire, améliorant ainsi le temps de démarrage de l’application. Cela permet également de créer dynamiquement des objets visuels et de les ajouter à la scène en réponse à une action de l’utilisateur ou à d’autres événements. Cette fonctionnalité peut être utilisée de deux manières principales.

Un objet peut être créé dynamiquement à partir de JavaScript de manière impérative, en utilisant la création dynamique d’objets. Cela peut s’avérer utile, par exemple, lorsque QML est utilisé comme langage de script d’application.

Remarque : lors de la création d’interfaces utilisateur, la méthode recommandée pour créer des objets de manière dynamique consiste à utiliser des constructions déclaratives, car celles-ci s’intègrent mieux au moteur QML et aux outils associés. Il existe différents types permettant d’utiliser cette fonctionnalité, tels que les types Loader, Instantiator et Repeater.

Ressources JavaScript

La logique d'application définie dans des fonctions JavaScript peut être séparée dans des fichiers JavaScript distincts appelés « ressources JavaScript ». Il existe plusieurs types de ressources JavaScript, avec des sémantiques différentes.

Consultez la page de documentation intitulée « Définition des ressources JavaScript dans QML » pour plus d’informations sur la définition des ressources JavaScript pour QML.

Importations JavaScript

Un document QML peut importer des ressources JavaScript, et ces dernières peuvent à leur tour importer d’autres ressources JavaScript ainsi que des modules QML. Cela permet à un développeur d’application de fournir la logique d’application dans des fichiers modulaires et autonomes.

Consultez la page de documentation intitulée « Importation de ressources JavaScript » pour plus d’informations sur la manière d’importer des ressources JavaScript et d’utiliser les fonctionnalités qu’elles fournissent.

Environnement hôte JavaScript

Le moteur QML fournit un environnement JavaScript qui présente certaines différences par rapport à l'environnement JavaScript fourni par un navigateur web. Certaines limitations s'appliquent au code s'exécutant dans cet environnement, et le moteur QML fournit divers objets dans le contexte racine qui peuvent être peu familiers aux développeurs JavaScript.

Ces limitations et extensions sont documentées dans la description de l’environnement d’exécution JavaScript fournie par le moteur QML.

Vous trouverez également une description détaillée de la gestion de la mémoire utilisée par le moteur JavaScript.

Configuration du moteur JavaScript

Pour certains cas d'utilisation spécifiques, vous souhaiterez peut-être redéfinir certains des paramètres utilisés par le moteur JavaScript pour la gestion de la mémoire et la compilation du code JavaScript. Consultez la section « Configuration du moteur JavaScript » pour plus d'informations sur ces paramètres.

Rendre les applications scriptables

Au-delà de l’utilisation de JavaScript dans les documents Qml, Qt vous permet également d’intégrer un moteur JavaScript dans des applications C++ afin de les rendre scriptables. Cela permet d’étendre les fonctionnalités de l’application à l’aide de JavaScript sans avoir à la recompiler.

Consultez la section Rendre les applications scriptables pour obtenir des informations détaillées sur l’utilisation du moteur JavaScript dans les applications C++, notamment sur la manière d’exposer les instances d’ QObject s aux scripts et sur les considérations de sécurité.

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