QML, langage de description d'interface

Qt Markup Langage est un langage déclaratif d'interface utilisateur. Il est compatible avec le framework Qt et s'interface avec son API. Il peut être étendu avec du code C contenant des appels à cette API.

Pour l'utiliser, on ajoute le runtime Qt Declarative à celui de Qt.

Pourquoi utiliser QML?

Construire une interface sous l'environnement Qt est plus facile avec QML comme il est plus facile de décrire une interface Java avec JavaFX, qui est similaire (tandis que d'autres plateforme ont choisi un code XML).
Il suffit d'une ligne de code pour afficher "Hello World!" contre une trentaine avec Qt (voir Hello World! en tous langages).

Le traitement peut être beaucoup plus lent cependant qu'avec l'emploi d'appels directs aux fonctions du framework Qt, aussi le langage convient mieux pour de petites applications avec une interface simple, et moins pour des applications plus lourdes.

Selon l'éditeur, le runtime étant installé sur un serveur, une application QML peut fonctionner sur le Web avec HTTP, ce qui en fait une alternative à HTML. On peut aussi générer une page en HTML qui sera vue dans un navigateur et fonctionner avec JavaScript.

Caractéristiques du langage

Exemples de code

Dessiner un rectangle contenant les mots "Hello World!".

Rectangle {
   width: 200
   height: 200
   color: mouse.pressed ? "blue" : "red"  
   Text {          
     text: "Hello World"          
     anchors.centerIn: parent      
   }  
}

Inclure du code JavaScript...

Rectangle {      
   function calculateHeight() 
   {
     ... calculs... 
     return x;      
   }      

   height: calculateHeight()      
   width: { 
      if (height > 100) 200; else 50 
   }  
}  

Outils et documentation

Langages de programmation AspectJ - Basic - C - CIL - C++ - C++11 - C# - Dart - Eiffel - Go - Java - JavaScript - JavaFX Script - Pascal - PHP - Python - QML - Rexx - Ruby - Scala - Scriptol - Tcl - HTML - XML - XAML - XUL - SQL