Qt具有创建用户界面的多种技术。虽然可以根据需要混合和匹配这些不同的技术,但是一种方法通常比其他方法更适合于某种类型的用户界面。 Qt Creator是结合了传统Qt小部件和Qt Quick的应用程序的一个很好的例子。小部件构成用户界面的基础,而Qt Quick则用于实现“欢迎”模式。以下各节简要介绍了用于创建用户界面的可用技术,并提供了一个比较表来帮助选择最合适的技术。
常见的重要UI主题
高DPI显示
QML应用程序的重要UI主题
图形控件
Qt Quick Controls模块(自Qt 5.7起)提供了用于创建高性能用户界面的轻量级QML类型。这些控件通过采用简化的样式体系结构来提高效率。
有关如何使用QML创建应用程序用户界面的更多信息,请访问QML用户界面页面。
基于小部件的用户界面
Qt窗口小部件是传统的用户界面元素,通常在桌面环境中可以找到。这些小部件很好地集成到了基础平台上,从而在Windows,Linux和macOS上提供了原生的外观。这些小部件已经成熟,并且具有丰富的用户界面元素,适用于大多数静态用户界面。与Qt Quick相比,这些小部件无法很好地缩放触摸屏和流畅,高度动画化的现代用户界面。对于具有传统桌面中心用户界面的应用程序,例如办公类型的应用程序,小部件是一个不错的选择。
基于小部件的用户界面
Qt窗口小部件是传统的用户界面元素,通常在桌面环境中可以找到。这些小部件很好地集成到了基础平台上,从而在Windows,Linux和macOS上提供了原生的外观。这些小部件已经成熟,并且具有丰富的用户界面元素,适用于大多数静态用户界面。与Qt Quick相比,这些窗口小部件无法很好地缩放触摸屏和流畅,高度动画化的现代用户界面。对于具有传统桌面中心用户界面的应用程序,例如办公类型的应用程序,小部件是一个不错的选择。
Qt小部件中的重要概念
可视化数据
Qt提供了现成的C ++类和QML类型,以图表和图形的形式可视化数据,众所周知,这是分析数据的最佳方法。Qt图表和Qt数据可视化是两个Qt附加组件,使使用2D和3D模型进行数据可视化成为现实。
显示网页内容
Qt提供了基于Chromium的WebEngine布局引擎,使您可以将Web内容嵌入到Qt应用程序中。该引擎可以集成到基于Qt Widget和基于Qt Quick的应用程序中。
有关在Qt中对Web内容的支持的更多信息,请参见集成Web内容。
比较方式
选择合适的技术来构建用户界面并不总是那么容易。它取决于几个变量,例如项目中使用的其他技术或目标平台的约束。在某种程度上,可以使用三种可用技术中的任何一种来实现下表中的许多项目。下表旨在帮助您选择最适合该工作的工具。