參看官方文檔。前端
Charts是QT提供的圖表模塊。他提供了很是簡便的APIs來繪製使人驚歎的Line, Spline,Area,Scatter,Pie,Donut,Bar,Polar和Box-and-Whiskers表。後端
支持Qt5/Qt4.8/Qt4.7。緩存
C++和Qt Quick同時支持。安全
數據可視化是一大需求。Charts提供了通用的、可擴展的組件。app
實時數據的可視化,如示波器,心率監視器,音頻波,圖表組件也被設計出來,用於顯示流利地顯示這些動態數據集。函數
它是一個具備多種特性的工業級別外觀和感受的高級UI庫,可定製,可擴展。提供了經常使用的,最基本的幾種控件:工具
而且它已經集成到Qt Designer中了。方便開發。佈局
能夠很是方便地建立3D數據可視化圖形。性能
主要的特性爲:優化
提供了優秀的工具鏈來簡化開發流程。除了預先配置的交叉編譯工具鏈,你能夠經過USB或IP鏈接直接部署到你的目標設備。遠程調試功能也內置了。
提供了一個可擴展的虛擬鍵盤,支持觸屏。容易定製外觀和自定義圖形。內置了兩種風格:復古和現代。
特性列表(見官網):
提供了一個Qt快速編譯工具,將qml文件編譯成二進制代碼,從而再也不須要將qml連同主程序一同發佈。官方文檔總結爲三個方面。
載入速度提高:動態載入qml文件能夠預解析,而且解析步驟能夠在初始化的時候跳過。這大大優化了Qt Quick實例的啓動時間。
最佳的性能:當載入時間較長時,不一樣平臺的性能差別較大。因此在一些平臺中,禁止了動態代碼生成,例如iOS和WinRT。
提升了安全性:因爲qml都被編譯成二進制了,因此能夠防止逆向工程。
另外:非企業版中,qml載入有三個步驟(見參考文獻1和參考文獻2):
將qml解析成抽象語法樹(在qml層面,包括對象、屬性、值)。
經過一個編譯器(它的包裝類爲QQmlCompiler,底層實現是v8引擎的定製)將qml抽象語法樹與C++對象對應起來,並編譯爲QQmlCompileredData對象。但這種過程不是簡單的對應,須要處理不少細節。
這個步驟比第一步解析步驟快得多。
這些QQmlCompileredData會緩存起來,用於重複使用。
QQmlCompileredData用於建立真正的C++對象。QQmlCompileredData中不只有數據,並且有代碼。其中的代碼部分是字節碼(bytecode),並在運行時被包裝類QQmlVME解釋執行。之後每個相同qml產生的實例,就會在運行時,直接使用緩存的QQmlCompileredData來而建立,不會再經歷第一個和第二個步驟。
NOTE:在這個過程當中,包括了屬性綁定。屬性綁定實質上都是JavaScript函數。具體綁定過程爲:QQmlVME
評估代碼,將綁定表達式包裝成一個js函數,從而生成一個C++層面的QQmlBingding
對象。v8引擎則將之編譯成v8::Function
對象(v8使用Just-in-Time,JIT compiler來生成機器碼)。該v8::Function
不會當即執行,而是緩存起來以待時機。
討論:企業版中,上述步驟1和步驟2確定是被優化掉了。可是步驟3呢?優化到何種程度呢
?
預配置了一個軟件協議棧,來減輕工做流程中的工具鏈配置等壓力。可讓開發者專一於原型的開發。利用協議棧能夠快速的部署在不一樣平臺上。
提供了一套商店購買API,能夠將你的app發佈到這些應用商店。支持iOS中的App Store和Android中Google Play。
Qt Purchasing API是在平臺的系統API上構建的,因此購買過程對於使用者來講很是熟悉,能夠簡化購買過程。
可使用C++或者QML來定製開發。並提供了一些商店的實用功能,例如:獲取網店應用的信息,讓app使用者從新安裝app而無需再次購買。
Qt企業版總結以下:
http://www.quweiji.com/qt5-3%E4%BC%81%E4%B8%9A%E7%89%88%E5%92%8C%E5%BC%80%E6%BA%90%E7%89%88%E5%8A%9F%E8%83%BD%E5%8C%BA%E5%88%AB/