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 en tant que fonctions JavaScript. Il permet également aux utilisateurs d'importer des fichiers JavaScript et d'utiliser les fonctionnalités offertes par ces importations.

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

Expressions JavaScript

QML dispose d'une intégration JavaScript poussée et permet de définir des méthodes et des gestionnaires de signaux en JavaScript. Une autre caractéristique essentielle de QML est la possibilité de spécifier et de renforcer les relations entre les propriétés des objets à l'aide de liaisons de propriétés, qui sont également définies à l'aide de JavaScript.

Voir 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. Cette fonction est utile pour retarder l'instanciation des objets jusqu'à ce qu'elle soit nécessaire, ce qui permet d'améliorer le temps de démarrage de l'application. Elle permet également de créer dynamiquement des objets visuels et de les ajouter à la scène en réaction à la saisie de l'utilisateur ou à d'autres événements. Cette fonctionnalité peut être utilisée de deux manières principales.

Les objets peuvent être créés dynamiquement à partir de JavaScript de manière impérative en utilisant la création dynamique d'objets. Cela peut être 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 préférée pour créer des objets de manière dynamique est d'utiliser des constructions déclaratives, car elles s'intègrent mieux au moteur et à l'outil QML. Différents types existent pour permettre cette fonctionnalité, tels que les types Loader, Instantiator, Repeater.

Ressources JavaScript

La logique d'application définie dans les 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.

Voir la page de documentation intitulée Définition des ressources JavaScript en QML pour plus d'informations sur la définition des ressources JavaScript pour QML.

Importations de JavaScript

Un document QML peut importer des ressources JavaScript, et les ressources JavaScript peuvent importer d'autres ressources JavaScript ainsi que des modules QML. Cela permet à un développeur d'application de fournir une logique d'application dans des fichiers modulaires et autonomes.

Voir 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 offrent.

Environnement hôte JavaScript

Le moteur QML fournit un environnement JavaScript qui présente certaines différences avec l'environnement JavaScript fourni par un navigateur web. Certaines limitations s'appliquent au code s'exécutant dans l'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 hôte JavaScript fourni par le moteur QML.

Il existe également une description détaillée de la gestion de la mémoire employée par le moteur JavaScript.

Configuration du moteur JavaScript

Pour des cas d'utilisation spécifiques, il se peut que vous souhaitiez remplacer certains des paramètres utilisés par le moteur JavaScript pour la gestion de la mémoire et la compilation du JavaScript. Voir Configuration du moteur JavaScript pour plus d'informations sur ces paramètres.

Rendre les applications scriptables

Outre l'utilisation de JavaScript dans les documents Qtml, Qt vous permet également d'intégrer un moteur JavaScript dans les applications C++ pour les rendre scriptables. Cela permet d'étendre les fonctionnalités de l'application à l'aide de JavaScript sans recompiler l'application.

Voir Rendre les applications scriptables pour des informations détaillées sur l'utilisation du moteur JavaScript dans les applications C++, y compris la manière d'exposer les instances QObject aux scripts et 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.