QML | |
---|---|
Sprog klasse | deklarativ , scripting |
Dukkede op i | 2009 |
Udvikler | Qt projekt |
Filtypenavn _ | .qml |
Frigøre | 6.3.2 [1] (12. september 2022 ) |
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.
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.
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).
Qt | |
---|---|
Teknologi | |
Værktøjer | |
Indbindinger | |
relaterede emner |