QML

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

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

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». July 3, 2013. 
  2. «Henrik Hartz (Product Manager for Qt Software at Nokia) comment on the name». 24 August 2009. Процитовано 2011-06-14. 
  3. [http://developer.qt.nokia.com/wiki/GettingStartedQMLRussian GettingStartedQMLRussian | Qt Wiki | Qt Developer Network
  4. «Qt 4.7: QML Elements». Doc.qt.nokia.com. Архів оригіналу за 2012-08-11. Процитовано 2010-09-22. 

Посилання[ред.ред. код]