什么是Qt Quick

學習QML的時候,第一個疑問往往就是什么是Qt Quick,它和QML到底是什么關系,搜索QML教程,為什么出來的都是Qt Quick相關的東西?
簡單來時,Qt-Quick模塊是編寫QML應用程序的標準庫。類似于C++標準庫與C++語言的關系。Qt Quick模塊提供了兩種接口:使用QML語言創(chuàng)建應用的QML接口和使用C++語言擴展QML的C++接口。使用Qt Quick模塊,設計人員和開發(fā)人員可以輕松地構建用戶界面,并且在需要的時候,可以將這些用戶界面連接到任何C++后端。
Qt Quick包含了以下?種技術:
QML:使?于?戶界?的標識語?
JavaScript:動態(tài)腳本語?
Qt C++:具有?度可移植性的C++庫

理解什么是Qt Quick需要理解上面這張圖。主要是理解下面這四部分:
QML Document
就是qml文件。編寫qml文件需要使用到下層的elements。
QML visiual elements
可以理解為Qt Quick庫里面使用QML語言寫好的一些類型的元素。如Rectangle、Text等等。就像C++標準庫里包含了使用C++寫好的string,vector......
這些elements的支撐來源于下層的engine
Declarative engine
QML(Qt Meta-Object Language,Qt元對象語言)是一種用于描述應用程序用戶界面的聲明式編程語言。相比傳統(tǒng)的命令式語言,聲明式語言使用更方便,在編寫UI時可以極大地簡化代碼(但對于復雜的業(yè)務邏輯層面,還是需要時用命令式語言)。Declarative?engine為QML提供了支撐,engine內部使用了Qt Quick框架、JavaScript框架、C++擴展框架;
Native Extensions
使用C++語言可以輕松擴展QML visiual?elements,添加新的元素。