参看官方文档。前端
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/