QML отличается от стандартного подхода с использованием виджетов в Qt тем, что предлагает альтернативный подход к созданию пользовательских интерфейсов. 2
Виджеты в Qt предоставляются модулем QtWidgets, который предоставляет предопределённые элементы, такие как кнопки, метки, коробки, меню и другие. 2 Приложения на основе виджетов выглядят как нативные, так как цель — не повлиять на пользовательский опыт по сравнению с другими включёнными приложениями. 2
QML — декларативный язык описания пользовательского интерфейса. 1 Он появился вместе с развитием мобильных устройств с сенсорными экранами и позволяет создавать гибкие пользовательские интерфейсы с минимальным написанием кода. 1 Вместе с модулем Qt Quick QML предоставляет возможность взаимодействовать с мобильным устройством с помощью таких действий, как нажатия, перетаскивание, анимация, состояния, переходы и другие. 2
Хотя QML изначально был создан для интерфейсов мобильных устройств, его можно использовать и для десктопных приложений. 2