QML

Den aktuelle version af siden er endnu ikke blevet gennemgået af erfarne bidragydere og kan afvige væsentligt fra den version , der blev gennemgået den 9. december 2016; checks kræver 19 redigeringer .
QML
Sprog klasse deklarativ , scripting
Dukkede op i 2009
Udvikler Qt projekt
Filtypenavn _ .qml
Frigøre 6.3.2 [1]  (12. september 2022 ) ( 2022-09-12 )
Blev påvirket JavaScript , Qt , CSS
Internet side doc.qt.io/qt-5/qtquick-q...

QML ( Qt Meta Language eller Qt Modeling Language [2] ) er et deklarativt programmeringssprog baseret på JavaScript - miljøet . QML bruges til at udvikle applikationer, der fokuserer på brugergrænsefladen [3] og generelt på designet af den grafiske del. Det er en del af Qt Quick , et brugergrænsefladeudviklingsmiljø distribueret med Qt . Det bruges ofte til at oprette applikationer, der er målrettet mod mobile enheder med berøringskontroller.

QML-dokument er et træ af elementer. QML-elementet [4] er ligesom Qt-elementet en samling af blokke: grafiske (såsom rektangel, billede) og adfærdsmæssige (såsom tilstand, overgang, animation). Disse elementer kan kombineres til at bygge komplekse komponenter lige fra simple knapper og skydere til komplette webapplikationer.

QML-elementer kan udvides med standard JavaScript - indsæt ved at indlejre .js-filer. De kan også udvides med C++- komponenter via Qt-rammeværket .

QML er et opmærkningssprog; dens JavaScript-kørselstid var den tilpassede V4-motor, [5]

QML og JavaScript-kode kan kompileres til native C++ binære filer ved hjælp af Qt Quick Compiler. [6] For at gøre det nemmere for udviklingen er der et QML-cache-filformat [7] , der dynamisk gemmer den kompilerede version af QML for en hurtigere start næste gang.

Syntaks, semantik

Eksempel:

importer QtQuick 1.0 Rektangel { id : lærredsbredde : 200 højde : 200 farve : " blå " Image { id : logo source : "pics/logo.png" x : canvas . højde / 5 } Text { id : message color : "white" text : "Hej verden!" ankre . centerIn : forælder } }

Objekter er specificeret efter deres type, angivet før et par krøllede seler. Objekttyper starter altid med stort bogstav. I ovenstående eksempel er der to objekter: Billede og tekst. Inden i krøllede klammeparenteser kan du angive oplysninger om objektet, såsom dets egenskaber. Egenskaber er angivet som <egenskab>: <værdi>. I dette eksempel har billedobjektet en kildeegenskab sat til "pics/logo.png". Ejendommen og dens værdi er adskilt af et kolon.

I modsætning til tildelingen af ​​værdier på traditionelle sprog, forbinder kolon-karakteren i QML en egenskab og dens værdi. Så i eksemplet er "x"-egenskaben forbundet med værdien opnået ved at beregne formlen "canvas.height / 5", og med enhver ændring i højden (højden) af Rectangle-objektet, den vandrette position (x) af det indsatte billede ændres automatisk til en femtedel af rektanglets højde.

Udviklingsværktøjer

Da QML og JavaScript er meget ens, kan ethvert udviklingsmiljø, der understøtter JavaScript, bruges til at arbejde med QML. Fuld understøttelse af syntaksfremhævning, kodefuldførelse, indbygget hjælpesystem, fejlfinding er også tilgængelig i Qt Creator IDE cross-platform udviklingsmiljø (fra version 2.1 og nyere).

Se også

Noter

  1. Qt 6.3.2 Frigivet .
  2. Henrik Hartz (Product Manager for Qt Software hos Nokia) kommenterer navnet (downlink) (24. august 2009). Hentet 29. maj 2013. Arkiveret fra originalen 25. marts 2014. 
  3. Kom godt i gangQMLEnglish | Qt Wiki | Qt Developer Network (utilgængeligt link) . Hentet 11. juni 2011. Arkiveret fra originalen 1. marts 2011. 
  4. Qt 4.7: QML Elements (downlink) . doc.qt.nokia.com. Hentet 22. september 2010. Arkiveret fra originalen 11. august 2012. 
  5. Knoll, Lars Evolution af QML-motoren, del 1 (15. april 2013). Hentet 11. maj 2018. Arkiveret fra originalen 12. maj 2018.
  6. Qt Quick Compiler . Hentet 7. september 2019. Arkiveret fra originalen 29. september 2019.
  7. Implementering af QML-applikationer | Qt 5.13 . doc.qt.io _ Hentet 7. september 2019. Arkiveret fra originalen 25. september 2019.

Links