用户界面#

Qt创建用户界面的技术

Qt框架的主要用户界面技术是Qt QuickQt Widgets。Qt Quick界面流畅、动态,最适合触摸界面。Qt Widgets用于创建复杂的桌面应用程序。您可以使用目标平台的原生外观和感觉创建Qt Quick和Qt Widgets界面。

使用Qt Quick构建UI#

Qt Quick用于创建动态和流畅的用户界面。Qt Quick Controls模块提供了QML类型,例如按钮、对话框和菜单。您可以使用声明性语言QML构建UI,并使用JavaScript来实现逻辑。

以下列表包含了相关的概述

Qt Widgets用户界面#

Qt Widgets是桌面环境中典型的用户界面元素。小部件与底层平台集成良好,在Windows、Linux和macOS上提供原生外观和感觉。小部件是成熟且功能丰富的用户界面元素,适用于大多数传统用户界面。与Qt Quick相比,小部件用于创建大型桌面应用程序,不太适合创建以触摸为中心且有流畅界面的应用程序。

以下列表包含了Qt Widgets的相关的概述

  • 小部件类

  • 动画框架

  • 应用程序主窗口

  • 对话框窗口

  • 拖放

  • 小部件和图形视图中手势

  • 布局管理

  • 窗口和对话框小部件

  • 样式和小部件

UI接口比较#

以下表格比较了Qt Widgets和Qt Quick接口。

Qt Quick / Qt Quick Controls

Qt Widgets

注释

使用的语言

QML/JS

C++

原生外观和感觉

ok1

ok2

Qt Widgets和Qt Quick Controls在其目标平台上支持原生外观和感觉。

自定义样式

ok3

ok4

Qt Widgets通过样式表提供定制化,而Qt Quick Controls提供了一些可定制的样式。

流畅的动画UI

ok5

Qt Widgets在动画方面扩展性不好。Qt Quick提供了以声明方式实现动画的便捷和自然方式。

触摸屏

ok6

Qt Widgets通常需要一个鼠标光标来获得良好的交互,而Qt Quick提供了QML类型的触摸交互。

标准行业小部件

ok7

Qt Widgets提供了解决方案,这些都经过了两十多年的发展,用于构建标准行业类型的应用程序。

模型/视图编程

ok8

ok9

Qt Quick提供了便利的视图,但Qt Widgets提供了一个更方便、更完整的框架。除了Qt Quick视图外,Qt Quick Controls还提供了一个TableView。

快速UI开发

ok10

ok11

Qt Quick是快速UI原型和开发的绝佳选择。

硬件加速图形

ok12

ok13

Qt 为 Qt Quick 接口提供全面硬件加速,Qt Widgets 接口则使用软件渲染。有关更多信息,请参阅 图形 概述。

图形效果

ok14

几个 Qt Quick 模块提供图形效果,Qt Widgets 接口可以使用 Qt GUI 进行效果处理。

富文本处理

ok15

ok16

Qt Widgets 现在提供最全面的文本编辑实现基础。Qt 的富文本文档类也可用于 Qt Quick 和 Qt Quick Controls 的 TextArea,可能需要一些 C++ 实现。