Qt可以使用多种技术来创建用户界面。我们也可以根据需要混合使用不同的技术,在一些特定的场景下一些技术就会比其他的技术更适合,所有方法各有所长。QrCreator就是混合使用多种技术的一个示例。实际上,它使用了传统的QtWidgets,例如菜单和对话框等;QtQuick则作为欢迎界面,QtWebKit则用于呈现Qt相关的文档。下面的内容将简要介绍这几种用于创建用户界面的技术,最后给出了一个对比表便于选择合适的技术。
【QtQuick】
QtQuick提供了所有用于创建应用程序流畅和动态界面的任何事物。它允许根据用户界面组件的行为和组件之间的联系来创建用户界面,并且它还提供一个带有自己坐标系统的可视化的画布和渲染引擎。动画和过渡效果是QtQuick中第一个类概念,我们可以通过特殊的用于粒子系统和着色的组件实现可视化的效果。QtQuick元素都是用于创建用户界面的构建块,而QtWidgets则更多使用标准的窗口组件。
Qt Quick中的重要概念----
*可视化的画布
*用户输入
*定位
*状态,过渡以及动画
*数据-模型,视图和数据存储
*粒子系统和图形图像效果
*便利的类型
*国际化和本地化
【QtWidgets】
QtWidgets是传统的用户界面元素,更多的用于桌面环境。窗口部件更好的集成到使用的平台中,在Windows,Linux和MacOSX上提供原生的显示。窗口部件更多的用于静态的用户界面。和QtQuick对比,窗口部件不能很好的适应触摸屏,以及动态的用户界面。窗口部件更多的适合传统桌面的用户界面,利于office类型的应用。
Qt Widgets中的重要概念----
*应用程序主窗口
*桌面集成
*对话框窗口
*布局管理
*模型/视图编程
*富文本处理
*拖拽操作
*国际化
【QtWebKit】
QtWebKit是一个web内容的渲染引擎,它基于开源的WebKit项目。QtWebKit模块提供了与上面两种技术的结合,QtQuick WebView组件和QtWebKit Widgets用于渲染并与web内容交互。
Qt Quick WebView和QtWebKit Widgets两者最大的区别在于前者使用多进程的架构(WebKit2)和一个单独的web渲染进程,而后者则使用但进程架构。
【对比】
我们可以根据需求的不同而选择不同的用户界面技术。下面是三种用户界面技术的比较,主要是帮助你作出合理的选择。