QML

Декларативна мова програмування

QML (Qt Meta Language або Qt Modeling Language[2]) — декларативна мова програмування, заснована на JavaScript і призначена для розробки застосунків, які роблять основний наголос на користувацький інтерфейс[3]. Є частиною Qt Quick, середовища розробки користувацьких інтерфейсів, поширюваного разом з Qt. В основному використовується для створення застосунків, орієнтованих на мобільні пристрої з сенсорним управлінням.

QML
Парадигмамульти-парадигмова: декларативна, реактивна, скриптова
Дата появи2009
РозробникQt Project
Останній реліз5.1.0[1] (3 липня 2013; 11 років тому (2013-07-03))
Система типізаціїдинамічна, строга
Під впливом відJavaScript, Qt
Вплинула наQt
Звичайні розширення файлів.qml Редагувати інформацію у Вікіданих
ВебсайтFor Developers

QML-документ являє собою дерево елементів. QML елемент[4], так само, як і елемент Qt, являє собою сукупність блоків: графічних (таких, як rectangle, image) і поведінкових (таких, як state, transition, animation). Ці елементи можуть бути об'єднані, щоб побудувати комплексні компоненти, починаючи від простих кнопок і повзунків і закінчуючи повноцінними застосунками, що працюють з інтернетом.

QML елементи можуть бути доповнені стандартними JavaScript-вставками шляхом вбудовування .js файлів. Також вони можуть бути розширені C++ компонентами через Qt framework.

Синтаксис, семантика

ред.

Приклад:

import QtQuick 1.0

 Rectangle {
   id: canvas
   width: 200
   height: 200
   color: "blue"

   Image {
     id: logo
     source: "pics/logo.png"
     anchors.centerIn: parent
     x: canvas.height / 5
   }
 }

Об'єкти задаються їхнім типом, зазначеним перед парою фігурних дужок. Типи об'єктів завжди починаються з великої літери. У вищезгаданому прикладі є два об'єкти: Rectangle і Image. Усередині фігурних дужок можна задати інформацію про об'єкт, наприклад, його властивості. Властивості задаються у вигляді <властивість>: <значення>. У цьому прикладі в об'єкта Image є властивість source, якій присвоєно значення «pics/logo.png». Властивість та її значення розділяються двокрапкою.

Інструменти розробки

ред.

Оскільки QML і JavaScript дуже схожі, то будь-які середовища розробки, що підтримують JavaScript, можуть бути використані для роботи з QML. Також повна підтримка підсвічування синтаксису, автозавершення коду, вбудована довідкова система доступні у крос-платформовому середовищі розробки Qt Creator, починаючи з версії 2.1.

Виноски

ред.
  1. Digia Releases Qt 5.1. 3 липня 2013. Архів оригіналу за серпень 6, 2013. Процитовано вересень 11, 2013. [Архівовано 2013-08-06 у Wayback Machine.]
  2. Henrik Hartz (Product Manager for Qt Software at Nokia) comment on the name. 24 серпня 2009. Архів оригіналу за 23 липня 2011. Процитовано 14 червня 2011. [Архівовано 2011-07-23 у Wayback Machine.]
  3. [[https://web.archive.org/web/20110301113457/http://developer.qt.nokia.com/wiki/GettingStartedQMLRussian Архівовано 1 березня 2011 у Wayback Machine.] GettingStartedQMLRussian | Qt Wiki | Qt Developer Network
  4. Qt 4.7: QML Elements. Doc.qt.nokia.com. Архів оригіналу за 11 серпня 2012. Процитовано 22 вересня 2010. [Архівовано 2010-10-01 у Wayback Machine.]

Посилання

ред.