用户界面

Qt 框架的主要用户界面技术是 Qt Quick and Qt Widgets 。Qt Quick 界面是流畅的、动态的、且最适合触摸界面。Qt Widgets 用于创建复杂桌面应用程序。可以创建具有目标平台本机外观和感觉的 Qt Quick 和 Qt Widgets 界面。

采用 Qt Quick 构建 UI

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

下表包含相关概述:

Qt Widgets 用户界面

Qt Widgets 是桌面环境中的典型 UI (用户界面) 元素。Qt Widgets 已很好地集成到了底层平台,可在 Windows、Linux 和 macOS 提供本机外观和感觉。Qt Widgets 很成熟且拥有丰富的用户界面元素,适合大多数传统用户界面。相比 Qt Quick ,Qt Widgets 用于创建大型桌面应用程序,且不太适合创建具有流体界面,以触摸为中心的应用程序。

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

UI 界面比较

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

Qt Quick / Qt Quick Controls Qt Widgets 注释
使用语言 QML/JS C++
本机外观和感觉 Qt Widgets 和 Qt Quick Controls 支持目标平台的本机外观和感觉。
自定义样式 Qt Widgets 提供定制采用 样式表 而 Qt Quick Controls 拥有选定对于 可定制样式 .
流畅动画 UI Qt Widgets 无法很好地适应动画伸缩。Qt Quick 提供了按声明方式实现动画的方便且自然方式。
触摸屏 Qt Widgets 为良好交互经常要求鼠标光标,而 Qt Quick 为鼠标和触摸交互两者提供 QML 类型。
标准行业 Widget Qt Widgets 提供用于构建标准行业类型应用程序所需,经 20 多年发展的所有花哨功能。
模型/视图编程 Qt Quick 提供方便视图,但 Qt Widgets 提供更方便且完整的框架。除 Qt Quick 视图外,Qt Quick Controls 还提供 TableView .
敏捷 UI 开发 Qt Quick 是敏捷 UI 原型设计和开发的绝佳抉择。
HW (硬件) 加速图形 Qt 为 Qt Quick 界面提供完整硬件加速,而 Qt Widgets 界面是在软件中渲染。 图形 概述有更多信息。
图形效果 几个 Qt Quick 模块提供了图形效果,而 Qt Widgets 接口可以使用 Qt GUI 对于效果。
富文本处理 目前,Qt Widgets 为实现文本编辑器提供最综合基。Qt 的富文本文档类还可以用于 Qt Quick 和 Qt Quick Controls 的 TextArea ,但可能要求一些 C++ 实现。

注意: 可以在 Qt Widgets UI 中显示 QML 视图。更多信息,见 Qt Quick Widgets .

下列页面包含设计和开发 UI (用户界面) 的更多有关信息: