QML | |
---|---|
Jazyková třída | deklarativní , skriptovací |
Objevil se v | 2009 |
Vývojář | Projekt Qt |
Přípona souboru | .qml |
Uvolnění | 6.3.2 [1] (12. září 2022 ) |
Byl ovlivněn | JavaScript , Qt , CSS |
webová stránka | doc.qt.io/qt-5/qtquick-q… |
QML ( Qt Meta Language nebo Qt Modeling Language [2] ) je deklarativní programovací jazyk založený na prostředí JavaScript . QML slouží k vývoji aplikací, které se zaměřují na uživatelské rozhraní [3] a obecně na design grafické části. Je součástí Qt Quick , vývojového prostředí uživatelského rozhraní distribuovaného s Qt . Často se používá k vytváření aplikací, které cílí na mobilní zařízení s dotykovým ovládáním.
Dokument QML je strom prvků. Element QML [4] , stejně jako element Qt, je kolekce bloků: grafických (jako obdélník, obrázek) a behaviorálních (jako je stav, přechod, animace). Tyto prvky lze kombinovat a vytvářet složité komponenty od jednoduchých tlačítek a posuvníků až po kompletní webové aplikace.
Prvky QML lze rozšířit pomocí standardních vložení JavaScriptu vložením souborů .js. Mohou být také rozšířeny o komponenty C++ prostřednictvím rámce Qt .
QML je značkovací jazyk; jeho běhovým prostředím JavaScriptu byl vlastní engine V4, [5]
Kód QML a JavaScript lze zkompilovat do nativních binárních souborů C++ pomocí Qt Quick Compiler. [6] Pro usnadnění vývoje existuje formát souboru mezipaměti QML [7] , který dynamicky ukládá zkompilovanou verzi QML pro rychlejší spuštění příště.
Příklad:
import QtQuick 1.0 Obdélník { id : šířka plátna : 200 výška : 200 barva : "modrá" Obrázek { id : zdroj loga : "pics/logo.png" x : plátno . výška / 5 } Text { id : barva zprávy : "bílá" text : "Ahoj světe!" kotvy . centerIn : rodič } }Objekty jsou určeny svým typem, zadaným před dvojicí složených závorek. Typy objektů vždy začínají velkým písmenem. Ve výše uvedeném příkladu jsou dva objekty: Obrázek a Text. Uvnitř složených závorek můžete zadat informace o objektu, jako jsou jeho vlastnosti. Vlastnosti jsou specifikovány jako <property>: <value>. V tomto příkladu má objekt Image vlastnost zdroje nastavenou na "pics/logo.png". Nemovitost a její hodnota jsou odděleny dvojtečkou.
Na rozdíl od přiřazování hodnot v tradičních jazycích, v QML dvojtečka spojuje vlastnost a její hodnotu. Takže v příkladu je vlastnost „x“ spojena s hodnotou získanou výpočtem vzorce „canvas.height / 5“ a s jakoukoli změnou výšky (výšky) objektu Rectangle, horizontální pozice (x) vložený obrázek se automaticky změní na pětinu výšky obdélníku.
Vzhledem k tomu, že QML a JavaScript jsou velmi podobné, lze pro práci s QML použít jakékoli vývojové prostředí, které podporuje JavaScript. V multiplatformním vývojovém prostředí Qt Creator IDE (od verze 2.1 a vyšší) je k dispozici také plná podpora zvýrazňování syntaxe, doplňování kódu, vestavěný systém nápovědy, debugger .
Qt | |
---|---|
Technika | |
Nástroje | |
Vazby | |
související témata |