用户界面

Qt 的创建用户界面技术

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

使用Qt Quick构建用户界面

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

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

Qt 小部件用户界面

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

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

  • 小部件类

  • 动画框架

  • 应用程序主窗口

  • 对话框窗口

  • 拖放

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

  • 布局管理

  • 窗口和对话框小部件

  • 样式和样式感知小部件

用户界面比较

下表比较了Qt Widgets和Qt Quick界面。

Qt Quick / Qt Quick 控件

Qt 小部件

评论

使用的语言

QML/JS

C++

原生外观

ok2

ok2

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

自定义样式

ok4

ok4

Qt Widgets 提供了样式表的自定义功能,而 Qt Quick Controls 则提供了一系列可自定义的样式。

流畅的动画用户界面

ok5

Qt Widgets 在动画方面表现不佳。Qt Quick 提供了一种方便且自然的方式,以声明式的方式实现动画。

触摸屏

ok6

Qt Widgets 通常需要鼠标光标以实现良好的交互,而 Qt Quick 提供了用于触摸交互的 QML 类型。

标准行业小部件

ok7

Qt Widgets 提供了所有经过二十年开发的、构建标准行业类型应用程序所需的附加功能。

模型/视图编程

ok9

ok9

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

快速用户界面开发

ok11

ok11

Qt Quick 是快速用户界面原型设计和开发的绝佳选择。

硬件加速图形

ok13

ok13

Qt为Qt Quick界面提供了完整的硬件加速,而Qt Widgets界面则在软件中渲染。图形概述提供了更多信息。

图形效果

ok14

几个Qt Quick模块提供了图形效果,Qt Widgets接口可以使用Qt GUI来实现效果。

富文本处理

ok16

ok16

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