WikiSort.ru - Программирование

ПОИСК ПО САЙТУ | о проекте
QML
Класс языка декларативный, скриптовый
Появился в 2009
Разработчик Qt Project
Расширение файлов ..qml
Выпуск 2.7[1] (2016-06-16; 988 дней тому назад)
Испытал влияние JavaScript, Qt, CSS
Сайт doc.qt.io/qt-5/qtquick-q…

QML (Qt Meta Language or 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"
         x: canvas.height / 5
     }

     Text {
         id: message
         color: "white"
         text: "Hello World!"
         anchors.centerIn: parent
     }
 }

Объекты задаются их типом, указанным перед парой фигурных скобок. Типы объектов всегда начинаются с заглавной буквы. В вышеупомянутом примере есть два объекта: Image и Text. Внутри фигурных скобок можно задать информацию об объекте, например, его свойства. Свойства задаются в виде <свойство>: <значение>. В этом примере у объекта Image есть свойство source, которому присвоено значение «pics/logo.png». Свойство и его значение разделяются двоеточием.

В отличие от присвоения значений в традиционных языках в QML символ двоеточия связывает свойства и его значение. Так в примере свойство «x» связывается со значением, получаемым при вычислении формулы «canvas.height / 5», и при любом изменении высоты (height) объекта Rectangle горизонтальная позиция (x) вставленной картинки Image будет автоматически изменяться на пятую часть высоты Rectangle.

Инструменты разработки

Так как QML и JavaScript очень похожи, то любые среды разработки, поддерживающие JavaScript, могут быть использованы для работы с QML. Также полная поддержка подсветки синтаксиса, автозавершение кода, встроенная справочная система, отладчик доступны в кросс-платформенной среде разработки Qt Creator IDE (с версии 2.1 и выше).

См. также

Примечания

  1. Qt 5.7 released (June 16, 2016).
  2. Henrik Hartz (Product Manager for Qt Software at Nokia) comment on the name (недоступная ссылка) (24 August 2009). Проверено 29 мая 2013. Архивировано 25 марта 2014 года.
  3. GettingStartedQMLRussian | Qt Wiki | Qt Developer Network
  4. Qt 4.7: QML Elements. Doc.qt.nokia.com. Проверено 22 сентября 2010. Архивировано 11 августа 2012 года.

Ссылки

Данная страница на сайте WikiSort.ru содержит текст со страницы сайта "Википедия".

Если Вы хотите её отредактировать, то можете сделать это на странице редактирования в Википедии.

Если сделанные Вами правки не будут кем-нибудь удалены, то через несколько дней они появятся на сайте WikiSort.ru .




Текст в блоке "Читать" взят с сайта "Википедия" и доступен по лицензии Creative Commons Attribution-ShareAlike; в отдельных случаях могут действовать дополнительные условия.

Другой контент может иметь иную лицензию. Перед использованием материалов сайта WikiSort.ru внимательно изучите правила лицензирования конкретных элементов наполнения сайта.

2019-2024
WikiSort.ru - проект по пересортировке и дополнению контента Википедии