QML

Aktuální verze stránky ještě nebyla zkontrolována zkušenými přispěvateli a může se výrazně lišit od verze recenzované 9. prosince 2016; kontroly vyžadují 19 úprav .
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 ) ( 2022-09-12 )
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ě.

Syntaxe, sémantika

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.

Vývojové nástroje

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 .

Viz také

Poznámky

  1. Vydáno Qt 6.3.2 .
  2. Henrik Hartz (produktový manažer pro Qt Software ve společnosti Nokia) komentoval název (downlink) (24. srpna 2009). Získáno 29. května 2013. Archivováno z originálu dne 25. března 2014. 
  3. ZačínámeQMEnglish | Qt Wiki | Qt Developer Network (nedostupný odkaz) . Získáno 11. června 2011. Archivováno z originálu 1. března 2011. 
  4. Qt 4.7: QML Elements (downlink) . doc.qt.nokia.com. Získáno 22. září 2010. Archivováno z originálu 11. srpna 2012. 
  5. Knoll, Lars Evolution of the QML engine, part 1 (15. dubna 2013). Staženo 11. 5. 2018. Archivováno z originálu 12. 5. 2018.
  6. Qt Quick Compiler . Získáno 7. září 2019. Archivováno z originálu dne 29. září 2019.
  7. Nasazení aplikací QML | Qt 5,13 . doc.qt.io _ Získáno 7. září 2019. Archivováno z originálu dne 25. září 2019.

Odkazy