QML

Versiunea actuală a paginii nu a fost încă examinată de colaboratori experimentați și poate diferi semnificativ de versiunea revizuită la 9 decembrie 2016; verificările necesită 19 modificări .
QML
Clasa de limba declarativ , scripting
Aparut in 2009
Dezvoltator Proiectul Qt
Extensie de fișier .qml
Eliberare 6.3.2 [1]  (12 septembrie 2022 ) ( 2022-09-12 )
A fost influențat JavaScript , Qt , CSS
Site-ul web doc.qt.io/qt-5/qtquick-q…

QML ( Qt Meta Language sau Qt Modeling Language [2] ) este un limbaj de programare declarativ bazat pe mediul JavaScript . QML este folosit pentru a dezvolta aplicații care se concentrează pe interfața cu utilizatorul [3] și, în general, pe designul părții grafice. Face parte din Qt Quick , un mediu de dezvoltare a interfeței cu utilizatorul distribuit cu Qt . Este adesea folosit pentru a crea aplicații care vizează dispozitivele mobile cu comenzi tactile.

Documentul QML este un arbore de elemente. Elementul QML [4] , la fel ca și elementul Qt, este o colecție de blocuri: grafice (cum ar fi dreptunghi, imagine) și comportamentale (cum ar fi stare, tranziție, animație). Aceste elemente pot fi combinate pentru a construi componente complexe, de la simple butoane și glisoare până la aplicații web complete.

Elementele QML pot fi extinse cu inserții JavaScript standard prin încorporarea fișierelor .js. Ele pot fi extinse și cu componente C++ prin cadrul Qt .

QML este un limbaj de marcare; timpul său de rulare JavaScript a fost motorul personalizat V4, [5]

Codul QML și JavaScript poate fi compilat în binare native C++ folosind Qt Quick Compiler. [6] Pentru comoditatea dezvoltării, există un format de fișier cache QML [7] care salvează în mod dinamic versiunea compilată a QML pentru o pornire mai rapidă data viitoare.

Sintaxă, semantică

Exemplu:

importa QtQuick 1.0 Dreptunghi { id : lățime pânză : 200 înălțime : 200 culoare : „albastru” Imagine { id : sursa siglei : "pics/logo.png" x : pânză . înălțime / 5 } Text { id : culoarea mesajului : „alb” text : „Bună lume!” ancore . centerIn : părinte } }

Obiectele sunt specificate după tipul lor, specificat înaintea unei perechi de acolade. Tipurile de obiecte încep întotdeauna cu o literă mare. În exemplul de mai sus, există două obiecte: Imagine și Text. În interiorul acoladelor, puteți specifica informații despre obiect, cum ar fi proprietățile acestuia. Proprietățile sunt specificate ca <proprietate>: <valoare>. În acest exemplu, obiectul Image are o proprietate sursă setată la „pics/logo.png”. Proprietatea și valoarea acesteia sunt separate prin două puncte.

Spre deosebire de atribuirea de valori în limbile tradiționale, în QML caracterul două puncte asociază o proprietate și valoarea acesteia. Deci, în exemplu, proprietatea „x” este asociată cu valoarea obținută prin calcularea formulei „canvas.height / 5”, și cu orice modificare a înălțimii (înălțimii) obiectului Rectangle, poziția orizontală (x) a Imaginea inserată se va schimba automat la o cincime din înălțimea dreptunghiului.

Instrumente de dezvoltare

Deoarece QML și JavaScript sunt foarte asemănătoare, orice mediu de dezvoltare care acceptă JavaScript poate fi folosit pentru a lucra cu QML. De asemenea, suport complet pentru evidențierea sintaxei, completarea codului, sistemul de ajutor încorporat, depanatorul sunt disponibile în mediul de dezvoltare multiplatformă Qt Creator IDE (de la versiunea 2.1 și o versiune ulterioară).

Vezi și

Note

  1. Qt 6.3.2 Lansat .
  2. Henrik Hartz (Product Manager pentru Qt Software la Nokia) comentează despre nume (downlink) (24 august 2009). Preluat la 29 mai 2013. Arhivat din original la 25 martie 2014. 
  3. Noțiuni de bazăQMLEngleză | Qt Wiki | Qt Developer Network (link indisponibil) . Consultat la 11 iunie 2011. Arhivat din original la 1 martie 2011. 
  4. Qt 4.7: Elemente QML (link descendent) . doc.qt.nokia.com. Preluat la 22 septembrie 2010. Arhivat din original la 11 august 2012. 
  5. Knoll, Lars Evolution of the QML engine, partea 1 (15 aprilie 2013). Preluat la 11 mai 2018. Arhivat din original la 12 mai 2018.
  6. Qt Quick Compiler . Preluat la 7 septembrie 2019. Arhivat din original la 29 septembrie 2019.
  7. Implementarea aplicațiilor QML | Qt 5.13 . doc.qt.io _ Preluat la 7 septembrie 2019. Arhivat din original la 25 septembrie 2019.

Link -uri