QML, язык описания интерфейса
Qt Markup Langue - декларативный язык интерфейса пользователя. Он совместим с фреймворком Qt и взаимодействует со своим API. Его можно расширить с помощью кода C, содержащего вызовы к этому API.
Для его использования добавляется время выполнения декларации Qt к времени выполнения Qt.

Демонстрация QML: галерея и браузер
Зачем использовать QML
?Создание интерфейса под Qt проще с QML, так как проще описать Java-интерфейс с JavaFX, который похож (в то время как другие платформы выбрали код, производный от XML, например, XAML).
Достаточно инструкции, чтобы показать «Hello World!» против семи с Qt, как мы видим в списке «Привет, мир!» на всех языках .
Однако обработка может быть гораздо медленнее, чем при использовании прямых вызовов к функциям фреймворка Qt, а также язык лучше подходит для небольших приложений с простым интерфейсом и меньше для более тяжелых приложений. Можно также использовать QML на этапе разработки, а затем оптимизировать конечное приложение, переведя его на Qt, если он слишком медленный.
Как правило, рекомендуется использовать QML для мобильных устройств и QT только на рабочем столе, без сокращения времени загрузки с QML.
По словам редактора, поскольку runtime установлен на сервере, QML-приложение может работать в Сети с HTTP, что делает его альтернативой HTML. Можно также создать HTML-страницу, которая будет отображаться в браузере и работать с JavaScript.
QML имеет синтаксис JSON, а не XML
Выбор синтаксиса, вдохновленного С, позволяет быстрее обрабатывать файлы и уменьшить размер. Это также принцип JSON.
- Объекты описаны как структуры С.
- При возвращении к строке (как в JavaScript/Script/Go) нет запятой в конце инструкции.
- Объект может быть определен сочетанием других объектов.
- Значения свойств объекта могут быть выражениями JavaScript. Это позволяет связать список условий действия со свойством.
- «Статус», «Переход», «Анимация» - это фреймы, связанные с графическими объектами (например, «Изображение», «Прямоугольник», «Текст» и т.д.).
- State - это именованная декларация, описывающая набор свойств, который применяется к графическому объекту при выполнении условия.
- Переход - это декларация, которая распространяет изменение во времени.
- Анимация описывает эволюцию объекта от изменения его свойств.
Примеры кода
У Дроу есть прямоугольник со словами «Привет, мир!».
Rectangle { width: 200 height: 200 color: mouse.pressed ? "blue" : "red" Text { text: "Salut le Monde!" anchors.centerIn: parent } }
Включить код JavaScript...
Rectangle { function calculateHeight() { ... calculs... return x; } height: calculateHeight() width: { if (height > 100) 200; else 50 } }
Подробнее на сайте Qt. На qt-project.org можно найти демонстрацию, показывающую, как реализовать интерфейс браузера в QML, со всеми необходимыми виджетами.