zoukankan      html  css  js  c++  java
  • Qt5.3企业版和开源版功能区别

    一、综述

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

    二、企业版的功能特性

    参看官方文档

    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提供了通用的、可扩展的组件。

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

    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而无需再次购买。

    三、总结

    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/

  • 相关阅读:
    .net在list列表中查询指定的几条
    【JSP】JSP 标准标签库(JSTL)
    【UI】-LigerUI
    【MySQL】MySQL优化
    【微信小程序】menu
    【微信小程序】login
    【插件】PageHelper实现分页
    《学习javascript数据结构与算法》——第四章:队列
    《学习javascript数据结构与算法》——第三章:栈
    《学习javascript数据结构与算法》——第二章:数组
  • 原文地址:https://www.cnblogs.com/findumars/p/5574539.html
Copyright © 2011-2022 走看看