Qt5.3企业版和开源版功能区别

1、综述

  • Qt企业版(Qt Enterprise)主要包括:
  • 更完整的Qt库
  • Qt Creator Enterprise IDE
  • 商业受权
  • Digia公司的技术支持
  • Qt云服务

2、企业版的功能特性

参看官方文档前端

2.1 Charts

Charts是QT提供的图表模块。他提供了很是简便的APIs来绘制使人惊叹的Line, Spline,Area,Scatter,Pie,Donut,Bar,Polar和Box-and-Whiskers表。后端

支持Qt5/Qt4.8/Qt4.7。缓存

C++和Qt Quick同时支持。安全

Qt5.3企业版和开源版功能区别

数据可视化是一大需求。Charts提供了通用的、可扩展的组件。app

实时数据的可视化,如示波器,心率监视器,音频波,图表组件也被设计出来,用于显示流利地显示这些动态数据集。函数

2.2 Qt Quick Enterprise Controls

它是一个具备多种特性的工业级别外观和感受的高级UI库,可定制,可扩展。提供了经常使用的,最基本的几种控件:工具

  • 圆形仪表(如表)
  • 表(直计如温度计)
  • 延迟按钮
  • 馅饼菜单
  • 拨号
  • 开关按钮
  • 状态指示灯

而且它已经集成到Qt Designer中了。方便开发。布局

2.3 Data Visualization

能够很是方便地建立3D数据可视化图形。性能

 

主要的特性为:优化

  • Multiple data visualization options: 3D Bars, 3D Scatter, and 3D Surface
  • 2D slice views of the 3D data
  • Render graphs into images
  • Interactive data: rotate, zoom, and highlight data using mouse or touch
  • Uses OpenGL for rendering the data
  • Qt 5 C++ and Qt Quick 2 support
  • Customizable axes for data - control viewable data window with axis ranges
  • Linear and logarithmic scales
  • Customizable input handling
  • Customizable scene handling - full control of cameras and lights
  • Customizable themes
  • Add custom 3D objects to highlight data areas
  • Optimizations for Big Data

2.4 Qt Enterprise Tooling

提供了优秀的工具链来简化开发流程。除了预先配置的交叉编译工具链,你能够经过USB或IP链接直接部署到你的目标设备。远程调试功能也内置了。

  • Qt Quick Enterprise Designer
  • QML Enterprise Profiler能够支持更深层次的堆栈性能分析。更精微地找出细小代码片断对应用程序产生的影响。它能够显示每帧画面花费多长时间来渲染,这与业务数据息息相关。
  • 支持手机终端的直接打包部署和远程调试功能。

2.5 Virtual Keyboard

提供了一个可扩展的虚拟键盘,支持触屏。容易定制外观和自定义图形。内置了两种风格:复古和现代。

特性列表(见官网):

  • C++后端,Qt Quick UI前端
  • 彻底可定制的图形是样式
  • 对不一样屏幕尺寸和分辨率具备很好的扩展性
  • 对于不一样语种键盘布局具备良好支持,例如阿拉伯,英语,西班牙,中文等等
  • 自动收起,字符预览和可选择字符列表,例如方言和本身添加的字符
  • 可做为qt程序默认的输入法
  • 单词预测
  • 支持中文拼音
  • 可使用C++和Qt Quick APIs与其余输入法交互而扩展
  • 支持5种导航方式,键选择使用箭头键和回车键

2.6 Qt Quick Compiler

提供了一个Qt快速编译工具,将qml文件编译成二进制代码,从而再也不须要将qml连同主程序一同发布。官方文档总结为三个方面。

载入速度提高:动态载入qml文件能够预解析,而且解析步骤能够在初始化的时候跳过。这大大优化了Qt Quick实例的启动时间。

最佳的性能:当载入时间较长时,不一样平台的性能差别较大。因此在一些平台中,禁止了动态代码生成,例如iOS和WinRT。

提升了安全性:因为qml都被编译成二进制了,因此能够防止逆向工程。



另外:非企业版中,qml载入有三个步骤(见参考文献1参考文献2):

 

  • 解析(Parse)

将qml解析成抽象语法树(在qml层面,包括对象、属性、值)。

  • 编译(Compile)

经过一个编译器(它的包装类为QQmlCompiler,底层实现是v8引擎的定制)将qml抽象语法树与C++对象对应起来,并编译为QQmlCompileredData对象。但这种过程不是简单的对应,须要处理不少细节。

这个步骤比第一步解析步骤快得多。

这些QQmlCompileredData会缓存起来,用于重复使用。

  • 建立(Create)

QQmlCompileredData用于建立真正的C++对象。QQmlCompileredData中不只有数据,并且有代码。其中的代码部分是字节码(bytecode),并在运行时被包装类QQmlVME解释执行。之后每个相同qml产生的实例,就会在运行时,直接使用缓存的QQmlCompileredData来而建立,不会再经历第一个和第二个步骤。

NOTE:在这个过程当中,包括了属性绑定。属性绑定实质上都是JavaScript函数。具体绑定过程为:QQmlVME评估代码,将绑定表达式包装成一个js函数,从而生成一个C++层面的QQmlBingding对象。v8引擎则将之编译成v8::Function对象(v8使用Just-in-Time,JIT compiler来生成机器码)。该v8::Function不会当即执行,而是缓存起来以待时机。

三个步骤的时耗图:
Qt5.3企业版和开源版功能区别

讨论:企业版中,上述步骤1和步骤2确定是被优化掉了。可是步骤3呢?优化到何种程度呢


2.7 Pre-Built Software Stack

预配置了一个软件协议栈,来减轻工做流程中的工具链配置等压力。可让开发者专一于原型的开发。利用协议栈能够快速的部署在不一样平台上。

Qt5.3企业版和开源版功能区别

2.8 Qt Purchasing

提供了一套商店购买API,能够将你的app发布到这些应用商店。支持iOS中的App Store和Android中Google Play。

Qt Purchasing API是在平台的系统API上构建的,因此购买过程对于使用者来讲很是熟悉,能够简化购买过程。

可使用C++或者QML来定制开发。并提供了一些商店的实用功能,例如:获取网店应用的信息,让app使用者从新安装app而无需再次购买。

3、总结

Qt企业版总结以下:

    • 完整、强大的功能和工具
    • 平台的专业支持
    • 应用发布无版权限制
    • 完整的源代码修改
    • etc…

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/

相关文章
相关标签/搜索