QML (Qt Meta Language або Qt Modeling Language) — декларативна мова програмування, заснована на JavaScript і призначена для розробки застосунків, які роблять основний наголос на користувацький інтерфейс. Є частиною Qt Quick, середовища розробки користувацьких інтерфейсів, поширюваного разом з Qt. В основному використовується для створення застосунків, орієнтованих на мобільні пристрої з сенсорним управлінням.
QML | |
---|---|
Парадигма | мульти-парадигмова: декларативна, реактивна, скриптова |
Дата появи | 2009 |
Розробник | |
Останній реліз | 5.1.0 (3 липня 2013 ) |
Система типізації | динамічна, строга |
Під впливом від | JavaScript, Qt |
Вплинула на | Qt |
Звичайні розширення файлів | .qml |
Вебсайт | For Developers |
QML-документ являє собою дерево елементів. QML елемент, так само, як і елемент 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.
Виноски
- . 3 липня 2013. Архів оригіналу за серпень 6, 2013. Процитовано вересень 11, 2013.
- . 24 серпня 2009. Архів оригіналу за 23 липня 2011. Процитовано 14 червня 2011.
- [[https://web.archive.org/web/20110301113457/http://developer.qt.nokia.com/wiki/GettingStartedQMLRussian Архівовано 1 березня 2011 у Wayback Machine.] GettingStartedQMLRussian | Qt Wiki | Qt Developer Network
- Qt 4.7: QML Elements. Doc.qt.nokia.com. Архів оригіналу за 11 серпня 2012. Процитовано 22 вересня 2010.
Посилання
- Введение в QML [ 17 червня 2013 у Wayback Machine.] (рос.)
- (англ.)
- (англ.)
- (англ.)
Вікіпедія, Українська, Україна, книга, книги, бібліотека, стаття, читати, завантажити, безкоштовно, безкоштовно завантажити, mp3, відео, mp4, 3gp, jpg, jpeg, gif, png, малюнок, музика, пісня, фільм, книга, гра, ігри, мобільний, телефон, android, ios, apple, мобільний телефон, samsung, iphone, xiomi, xiaomi, redmi, honor, oppo, nokia, sonya, mi, ПК, web, Інтернет
QML Qt Meta Language abo Qt Modeling Language deklarativna mova programuvannya zasnovana na JavaScript i priznachena dlya rozrobki zastosunkiv yaki roblyat osnovnij nagolos na koristuvackij interfejs Ye chastinoyu Qt Quick seredovisha rozrobki koristuvackih interfejsiv poshiryuvanogo razom z Qt V osnovnomu vikoristovuyetsya dlya stvorennya zastosunkiv oriyentovanih na mobilni pristroyi z sensornim upravlinnyam QMLParadigma multi paradigmova deklarativna reaktivna skriptovaData poyavi 2009RozrobnikOstannij reliz 5 1 0 3 lipnya 2013 10 rokiv tomu 2013 07 03 Sistema tipizaciyi dinamichna strogaPid vplivom vid JavaScript QtVplinula na QtZvichajni rozshirennya fajliv qmlVebsajt For Developers QML dokument yavlyaye soboyu derevo elementiv QML element tak samo yak i element Qt yavlyaye soboyu sukupnist blokiv grafichnih takih yak rectangle image i povedinkovih takih yak state transition animation Ci elementi mozhut buti ob yednani shob pobuduvati kompleksni komponenti pochinayuchi vid prostih knopok i povzunkiv i zakinchuyuchi povnocinnimi zastosunkami sho pracyuyut z internetom QML elementi mozhut buti dopovneni standartnimi JavaScript vstavkami shlyahom vbudovuvannya js fajliv Takozh voni mozhut buti rozshireni C komponentami cherez Qt framework Sintaksis semantikaPriklad 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 Ob yekti zadayutsya yihnim tipom zaznachenim pered paroyu figurnih duzhok Tipi ob yektiv zavzhdi pochinayutsya z velikoyi literi U vishezgadanomu prikladi ye dva ob yekti Rectangle i Image Useredini figurnih duzhok mozhna zadati informaciyu pro ob yekt napriklad jogo vlastivosti Vlastivosti zadayutsya u viglyadi lt vlastivist gt lt znachennya gt U comu prikladi v ob yekta Image ye vlastivist source yakij prisvoyeno znachennya pics logo png Vlastivist ta yiyi znachennya rozdilyayutsya dvokrapkoyu Instrumenti rozrobkiOskilki QML i JavaScript duzhe shozhi to bud yaki seredovisha rozrobki sho pidtrimuyut JavaScript mozhut buti vikoristani dlya roboti z QML Takozh povna pidtrimka pidsvichuvannya sintaksisu avtozavershennya kodu vbudovana dovidkova sistema dostupni u kros platformovomu seredovishi rozrobki Qt Creator pochinayuchi z versiyi 2 1 Vinoski 3 lipnya 2013 Arhiv originalu za serpen 6 2013 Procitovano veresen 11 2013 24 serpnya 2009 Arhiv originalu za 23 lipnya 2011 Procitovano 14 chervnya 2011 https web archive org web 20110301113457 http developer qt nokia com wiki GettingStartedQMLRussian Arhivovano1 bereznya 2011 u Wayback Machine GettingStartedQMLRussian Qt Wiki Qt Developer Network Qt 4 7 QML Elements Doc qt nokia com Arhiv originalu za 11 serpnya 2012 Procitovano 22 veresnya 2010 PosilannyaVvedenie v QML 17 chervnya 2013 u Wayback Machine ros angl angl angl